@tarojs/plugin-framework-react 3.5.0-alpha.9 → 3.5.0-beta.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 +53 -38
- package/dist/index.js.map +1 -1
- package/dist/runtime.js +27 -27
- package/dist/runtime.js.map +1 -1
- package/package.json +4 -8
package/dist/index.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var helper = require('@tarojs/helper');
|
|
6
|
+
var shared = require('@tarojs/shared');
|
|
5
7
|
var acorn = require('acorn');
|
|
6
8
|
var walk = require('acorn-walk');
|
|
7
9
|
|
|
@@ -121,36 +123,9 @@ function getLoaderMeta(framework) {
|
|
|
121
123
|
return frameworkMeta[framework];
|
|
122
124
|
}
|
|
123
125
|
|
|
124
|
-
function modifyMiniWebpackChain(ctx, framework, chain) {
|
|
125
|
-
setAlias$2(ctx, framework, chain);
|
|
126
|
-
setLoader$1(framework, chain);
|
|
127
|
-
}
|
|
128
|
-
function setAlias$2(ctx, framework, chain) {
|
|
129
|
-
var _a;
|
|
130
|
-
const config = ctx.initialConfig;
|
|
131
|
-
const alias = chain.resolve.alias;
|
|
132
|
-
if (framework === 'react') {
|
|
133
|
-
alias.set('react-dom$', '@tarojs/react');
|
|
134
|
-
if (process.env.NODE_ENV !== 'production' && ((_a = config.mini) === null || _a === void 0 ? void 0 : _a.debugReact) !== true) {
|
|
135
|
-
// 不是生产环境,且没有设置 debugReact,则使用压缩版本的 react 依赖,减少体积
|
|
136
|
-
alias.set('react-reconciler$', 'react-reconciler/cjs/react-reconciler.production.min.js');
|
|
137
|
-
alias.set('react$', 'react/cjs/react.production.min.js');
|
|
138
|
-
alias.set('scheduler$', 'scheduler/cjs/scheduler.production.min.js');
|
|
139
|
-
alias.set('react/jsx-runtime$', 'react/cjs/react-jsx-runtime.production.min.js');
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
function setLoader$1(framework, chain) {
|
|
144
|
-
chain.plugin('miniPlugin')
|
|
145
|
-
.tap(args => {
|
|
146
|
-
args[0].loaderMeta = getLoaderMeta(framework);
|
|
147
|
-
return args;
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
|
|
151
126
|
function modifyH5WebpackChain(ctx, framework, chain) {
|
|
152
|
-
setAlias$
|
|
153
|
-
setLoader(framework, chain);
|
|
127
|
+
setAlias$2(ctx, chain);
|
|
128
|
+
setLoader$1(framework, chain);
|
|
154
129
|
setPlugin(ctx, framework, chain);
|
|
155
130
|
chain.merge({
|
|
156
131
|
module: {
|
|
@@ -163,7 +138,7 @@ function modifyH5WebpackChain(ctx, framework, chain) {
|
|
|
163
138
|
}
|
|
164
139
|
});
|
|
165
140
|
}
|
|
166
|
-
function setAlias$
|
|
141
|
+
function setAlias$2(ctx, chain) {
|
|
167
142
|
var _a;
|
|
168
143
|
const config = ctx.initialConfig;
|
|
169
144
|
const alias = chain.resolve.alias;
|
|
@@ -174,7 +149,7 @@ function setAlias$1(ctx, chain) {
|
|
|
174
149
|
alias.set('@tarojs/components$', '@tarojs/components/dist-h5/react');
|
|
175
150
|
}
|
|
176
151
|
}
|
|
177
|
-
function setLoader(framework, chain) {
|
|
152
|
+
function setLoader$1(framework, chain) {
|
|
178
153
|
chain.plugin('mainPlugin')
|
|
179
154
|
.tap(args => {
|
|
180
155
|
args[0].loaderMeta = getLoaderMeta(framework);
|
|
@@ -200,6 +175,33 @@ function setPlugin(ctx, framework, chain) {
|
|
|
200
175
|
}
|
|
201
176
|
}
|
|
202
177
|
|
|
178
|
+
function modifyMiniWebpackChain(ctx, framework, chain) {
|
|
179
|
+
setAlias$1(ctx, framework, chain);
|
|
180
|
+
setLoader(framework, chain);
|
|
181
|
+
}
|
|
182
|
+
function setAlias$1(ctx, framework, chain) {
|
|
183
|
+
var _a;
|
|
184
|
+
const config = ctx.initialConfig;
|
|
185
|
+
const alias = chain.resolve.alias;
|
|
186
|
+
if (framework === 'react') {
|
|
187
|
+
alias.set('react-dom$', '@tarojs/react');
|
|
188
|
+
if (process.env.NODE_ENV !== 'production' && ((_a = config.mini) === null || _a === void 0 ? void 0 : _a.debugReact) !== true) {
|
|
189
|
+
// 不是生产环境,且没有设置 debugReact,则使用压缩版本的 react 依赖,减少体积
|
|
190
|
+
alias.set('react-reconciler$', 'react-reconciler/cjs/react-reconciler.production.min.js');
|
|
191
|
+
alias.set('react$', 'react/cjs/react.production.min.js');
|
|
192
|
+
alias.set('scheduler$', 'scheduler/cjs/scheduler.production.min.js');
|
|
193
|
+
alias.set('react/jsx-runtime$', 'react/cjs/react-jsx-runtime.production.min.js');
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
function setLoader(framework, chain) {
|
|
198
|
+
chain.plugin('miniPlugin')
|
|
199
|
+
.tap(args => {
|
|
200
|
+
args[0].loaderMeta = getLoaderMeta(framework);
|
|
201
|
+
return args;
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
|
|
203
205
|
var index = (ctx, config = {}) => {
|
|
204
206
|
const { framework } = ctx.initialConfig;
|
|
205
207
|
const { reactMode = 'legacy' } = config; // will change default value in the future
|
|
@@ -229,7 +231,6 @@ var index = (ctx, config = {}) => {
|
|
|
229
231
|
if (!(opts === null || opts === void 0 ? void 0 : opts.compiler))
|
|
230
232
|
return;
|
|
231
233
|
const { compiler } = opts;
|
|
232
|
-
const WEBPACK5 = 'webpack5';
|
|
233
234
|
// 提供给 webpack5 依赖预编译收集器的第三方依赖
|
|
234
235
|
const deps = [
|
|
235
236
|
'react',
|
|
@@ -237,19 +238,33 @@ var index = (ctx, config = {}) => {
|
|
|
237
238
|
'react/jsx-runtime',
|
|
238
239
|
'@tarojs/plugin-framework-react/dist/runtime'
|
|
239
240
|
];
|
|
240
|
-
if (compiler
|
|
241
|
+
if (shared.isString(opts.compiler)) {
|
|
241
242
|
opts.compiler = {
|
|
242
|
-
type:
|
|
243
|
-
prebundle: {
|
|
244
|
-
include: deps
|
|
245
|
-
}
|
|
243
|
+
type: opts.compiler
|
|
246
244
|
};
|
|
247
245
|
}
|
|
248
|
-
|
|
246
|
+
if (compiler.type === 'webpack5') {
|
|
249
247
|
compiler.prebundle || (compiler.prebundle = {});
|
|
250
248
|
const prebundleOptions = compiler.prebundle;
|
|
251
249
|
prebundleOptions.include || (prebundleOptions.include = []);
|
|
252
250
|
prebundleOptions.include = prebundleOptions.include.concat(deps);
|
|
251
|
+
if (prebundleOptions.enable === false)
|
|
252
|
+
return;
|
|
253
|
+
const taroReactPlugin = {
|
|
254
|
+
name: 'taroReactPlugin',
|
|
255
|
+
setup(build) {
|
|
256
|
+
build.onLoad({ filter: /taro-h5[\\/]dist[\\/]index/ }, ({ path }) => {
|
|
257
|
+
const content = helper.fs.readFileSync(path).toString();
|
|
258
|
+
return {
|
|
259
|
+
contents: require('./api-loader')(content)
|
|
260
|
+
};
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
prebundleOptions.esbuild || (prebundleOptions.esbuild = {});
|
|
265
|
+
const esbuildConfig = prebundleOptions.esbuild;
|
|
266
|
+
esbuildConfig.plugins || (esbuildConfig.plugins = []);
|
|
267
|
+
esbuildConfig.plugins.push(taroReactPlugin);
|
|
253
268
|
}
|
|
254
269
|
});
|
|
255
270
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/loader-meta.ts","../src/webpack.mini.ts","../src/webpack.h5.ts","../src/index.ts"],"sourcesContent":["import * as acorn from 'acorn'\nimport * as walk from 'acorn-walk'\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 }\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","\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 if (process.env.NODE_ENV !== 'production' && 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 }\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","\nimport { getLoaderMeta } 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-h5/react')\n }\n}\n\nfunction setLoader (framework: Frameworks, chain) {\n chain.plugin('mainPlugin')\n .tap(args => {\n args[0].loaderMeta = getLoaderMeta(framework)\n return args\n })\n}\n\nfunction setPlugin (ctx: IPluginContext, framework: Frameworks, chain) {\n const config = ctx.initialConfig\n\n if (\n process.env.NODE_ENV !== 'production' &&\n config.h5?.devServer?.hot !== false\n ) {\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('fastRefreshPlugin')\n .use(require('@prefresh/webpack'))\n }\n }\n}\n","import { modifyMiniWebpackChain } from './webpack.mini'\nimport { modifyH5WebpackChain } from './webpack.h5'\n\nimport type { IPluginContext } from '@tarojs/service'\n\nexport type Frameworks = 'react' | 'preact' | 'nerv'\n\ntype IConfig = {\n reactMode?: 'legacy' | 'concurrent'\n}\n\nexport default (ctx: IPluginContext, config: IConfig = {}) => {\n const { framework } = ctx.initialConfig\n const { reactMode = 'legacy' } = config // will change default value in the future\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 config.__TARO_FRAMEWORK_REACT_MODE__ = `\"${reactMode}\"`\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 const { compiler } = opts\n const WEBPACK5 = 'webpack5'\n // 提供给 webpack5 依赖预编译收集器的第三方依赖\n const deps = [\n 'react',\n 'react-dom',\n 'react/jsx-runtime',\n '@tarojs/plugin-framework-react/dist/runtime'\n ]\n if (compiler === WEBPACK5) {\n opts.compiler = {\n type: WEBPACK5,\n prebundle: {\n include: deps\n }\n }\n } else if (typeof compiler === 'object' && compiler.type === WEBPACK5) {\n compiler.prebundle ||= {}\n const prebundleOptions = compiler.prebundle\n prebundleOptions.include ||= []\n prebundleOptions.include = prebundleOptions.include.concat(deps)\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,SAAS,SAAS,CAAE,MAAM,EAAA;AACxB,IAAA,MAAM,UAAU,GAAG;AACjB,QAAA,qBAAqB,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;AAClE,QAAA,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;KAC7D,CAAA;AACD,IAAA,MAAM,GAAG,GAAGA,gBAAK,CAAC,KAAK,CAAC,MAAM,EAAE;AAC9B,QAAA,WAAW,EAAE,QAAQ;AACrB,QAAA,UAAU,EAAE,QAAQ;AACrB,KAAA,CAAC,CAAA;IAEF,MAAM,cAAc,GAAwB,EAAE,CAAA;IAE9C,SAAS,KAAK,CAAE,IAAY,EAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,IAAG;AAC3C,YAAA,MAAM,IAAI,GAAa,UAAU,CAAC,UAAU,CAAC,CAAA;AAC7C,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACvB,gBAAA,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;AAClC,aAAA;AACH,SAAC,CAAC,CAAA;KACH;AAED,IAAAC,eAAI,CAAC,MAAM,CAAC,GAAG,EAAE;AACf,QAAA,kBAAkB,CAAE,IAAS,EAAA;YAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI;gBAAE,OAAM;AACrC,YAAA,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;SACpB;AACD,QAAA,mBAAmB,CAAE,IAAS,EAAA;YAC5B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI;gBAAE,OAAM;AACrC,YAAA,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;SACpB;AACD,QAAA,cAAc,CAAE,IAAS,EAAA;AACvB,YAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;AACvB,YAAA,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE;AAChC,gBAAA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AACnB,aAAA;AAAM,iBAAA,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE;AAC7C,gBAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE;AACzC,oBAAA,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC5B,iBAAA;AAAM,qBAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE;AAC7C,oBAAA,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC7B,iBAAA;AACF,aAAA;SACF;AACF,KAAA,CAAC,CAAA;AAEF,IAAA,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,aAAa,GAAgC;AACjD,IAAA,IAAI,EAAE;AACJ,QAAA,wBAAwB,EAAE,CAAA;;AAE7B,CAAA;AACG,QAAA,gBAAgB,EAAE,CAAA;;;;;;AAMrB,CAAA;AACG,QAAA,aAAa,EAAE,oBAAoB;AACnC,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,eAAe,EAAE,6CAA6C;AAC9D,QAAA,mBAAmB,EAAE,MAAM;QAC3B,YAAY,CAAE,MAAM,EAAE,MAAM,EAAA;YAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;SACzC;AACF,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,wBAAwB,EAAE,CAAA;;;AAG7B,CAAA;AACG,QAAA,gBAAgB,EAAE,CAAA;;;;;;AAMrB,CAAA;AACG,QAAA,aAAa,EAAE,yBAAyB;AACxC,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,eAAe,EAAE,6CAA6C;AAC9D,QAAA,mBAAmB,EAAE,OAAO;AAC5B,QAAA,qBAAqB,EAAE,sDAAsD;AAC7E,QAAA,oBAAoB,EAAE,0CAA0C;QAChE,YAAY,CAAE,MAAM,EAAE,MAAM,EAAA;YAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;SACzC;AACF,KAAA;CACF,CAAA;AAEK,SAAU,aAAa,CAAE,SAAqB,EAAA;IAClD,IAAI,SAAS,KAAK,QAAQ;QAAE,SAAS,GAAG,OAAO,CAAA;AAC/C,IAAA,OAAO,aAAa,CAAC,SAAS,CAAC,CAAA;AACjC;;SC3GgB,sBAAsB,CAAE,GAAmB,EAAE,SAAqB,EAAE,KAAK,EAAA;AACvF,IAAAC,UAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;AAC/B,IAAAC,WAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;AAC7B,CAAC;AAED,SAASD,UAAQ,CAAE,GAAmB,EAAE,SAAqB,EAAE,KAAK,EAAA;;AAClE,IAAA,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAA;AAChC,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAA;IAEjC,IAAI,SAAS,KAAK,OAAO,EAAE;AACzB,QAAA,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;AACxC,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,CAAA,CAAA,EAAA,GAAA,MAAM,CAAC,IAAI,0CAAE,UAAU,MAAK,IAAI,EAAE;;AAE7E,YAAA,KAAK,CAAC,GAAG,CAAC,mBAAmB,EAAE,yDAAyD,CAAC,CAAA;AACzF,YAAA,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,mCAAmC,CAAC,CAAA;AACxD,YAAA,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,2CAA2C,CAAC,CAAA;AACpE,YAAA,KAAK,CAAC,GAAG,CAAC,oBAAoB,EAAE,+CAA+C,CAAC,CAAA;AACjF,SAAA;AACF,KAAA;AACH,CAAC;AAED,SAASC,WAAS,CAAE,SAAqB,EAAE,KAAK,EAAA;AAC9C,IAAA,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;SACvB,GAAG,CAAC,IAAI,IAAG;QACV,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;AAC7C,QAAA,OAAO,IAAI,CAAA;AACb,KAAC,CAAC,CAAA;AACN;;SC3BgB,oBAAoB,CAAE,GAAmB,EAAE,SAAqB,EAAE,KAAK,EAAA;AACrF,IAAAD,UAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AACpB,IAAA,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;AAC3B,IAAA,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;IAEhC,KAAK,CAAC,KAAK,CAAC;AACV,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE;AACJ,gBAAA,qBAAqB,EAAE;AACrB,oBAAA,IAAI,EAAE,4BAA4B;AAClC,oBAAA,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;AACxC,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA,CAAC,CAAA;AACJ,CAAC;AAED,SAASA,UAAQ,CAAE,GAAmB,EAAE,KAAK,EAAA;;AAC3C,IAAA,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAA;AAChC,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAA;AAEjC,IAAA,IAAI,MAAA,MAAM,CAAC,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,iBAAiB,EAAE;AAChC,QAAA,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,gCAAgC,CAAC,CAAA;AACnE,KAAA;AAAM,SAAA;AACL,QAAA,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,kCAAkC,CAAC,CAAA;AACrE,KAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAE,SAAqB,EAAE,KAAK,EAAA;AAC9C,IAAA,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;SACvB,GAAG,CAAC,IAAI,IAAG;QACV,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;AAC7C,QAAA,OAAO,IAAI,CAAA;AACb,KAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAS,SAAS,CAAE,GAAmB,EAAE,SAAqB,EAAE,KAAK,EAAA;;AACnE,IAAA,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAA;AAEhC,IAAA,IACE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QACrC,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,CAAC,EAAE,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,MAAK,KAAK,EACnC;;QAEA,IAAI,SAAS,KAAK,OAAO,EAAE;YACzB,KAAK;iBACF,MAAM,CAAC,mBAAmB,CAAC;AAC3B,iBAAA,GAAG,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,CAAA;AACxD,SAAA;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE;YACjC,KAAK;iBACF,MAAM,CAAC,mBAAmB,CAAC;AAC3B,iBAAA,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAA;AACrC,SAAA;AACF,KAAA;AACH;;ACjDA,YAAe,CAAC,GAAmB,EAAE,MAAkB,GAAA,EAAE,KAAI;AAC3D,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,aAAa,CAAA;IACvC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAA;IAEvC,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,QAAQ;QAAE,OAAM;IAEnF,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAI;;AAEnC,QAAA,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC1B,KAAK;aACF,MAAM,CAAC,cAAc,CAAC;aACtB,GAAG,CAAC,IAAI,IAAG;AACV,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AACtB,YAAA,MAAM,CAAC,kBAAkB,GAAG,CAAI,CAAA,EAAA,SAAS,GAAG,CAAA;AAC5C,YAAA,MAAM,CAAC,6BAA6B,GAAG,CAAI,CAAA,EAAA,SAAS,GAAG,CAAA;AACvD,YAAA,OAAO,IAAI,CAAA;AACb,SAAC,CAAC,CAAA;AAEJ,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE;;AAEjC,YAAA,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;AAC5C,SAAA;AAAM,aAAA;;AAEL,YAAA,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;AAC9C,SAAA;AACH,KAAC,CAAC,CAAA;IAEF,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAI;QAChC,IAAI,EAAC,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,QAAQ,CAAA;YAAE,OAAM;AAE3B,QAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QACzB,MAAM,QAAQ,GAAG,UAAU,CAAA;;AAE3B,QAAA,MAAM,IAAI,GAAG;YACX,OAAO;YACP,WAAW;YACX,mBAAmB;YACnB,6CAA6C;SAC9C,CAAA;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE;YACzB,IAAI,CAAC,QAAQ,GAAG;AACd,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,SAAS,EAAE;AACT,oBAAA,OAAO,EAAE,IAAI;AACd,iBAAA;aACF,CAAA;AACF,SAAA;aAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;YACrE,QAAQ,CAAC,SAAS,KAAlB,QAAQ,CAAC,SAAS,GAAK,EAAE,CAAA,CAAA;AACzB,YAAA,MAAM,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAA;YAC3C,gBAAgB,CAAC,OAAO,KAAxB,gBAAgB,CAAC,OAAO,GAAK,EAAE,CAAA,CAAA;YAC/B,gBAAgB,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AACjE,SAAA;AACH,KAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,SAAS,QAAQ,CAAE,SAAqB,EAAE,KAAK,EAAA;AAC7C,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAA;AAEjC,IAAA,QAAQ,SAAS;AACf,QAAA,KAAK,QAAQ;AACX,YAAA,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;AACnC,YAAA,KAAK,CAAC,GAAG,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAA;AACtD,YAAA,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;AACvC,YAAA,KAAK,CAAC,GAAG,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAA;YACpD,MAAK;AACP,QAAA,KAAK,MAAM;AACT,YAAA,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;AAC7B,YAAA,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;YACjC,MAAK;AACR,KAAA;AACH;;;;"}
|
|
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'\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 }\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","import type { IPluginContext } from '@tarojs/service'\n\nimport type { Frameworks } from './index'\nimport { getLoaderMeta } from './loader-meta'\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-h5/react')\n }\n}\n\nfunction setLoader (framework: Frameworks, chain) {\n chain.plugin('mainPlugin')\n .tap(args => {\n args[0].loaderMeta = getLoaderMeta(framework)\n return args\n })\n}\n\nfunction setPlugin (ctx: IPluginContext, framework: Frameworks, chain) {\n const config = ctx.initialConfig\n\n if (\n process.env.NODE_ENV !== 'production' &&\n config.h5?.devServer?.hot !== false\n ) {\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('fastRefreshPlugin')\n .use(require('@prefresh/webpack'))\n }\n }\n}\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 if (process.env.NODE_ENV !== 'production' && 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 }\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 type { IPluginContext } from '@tarojs/service'\nimport { isString } from '@tarojs/shared'\n\nimport { modifyH5WebpackChain } from './webpack.h5'\nimport { modifyMiniWebpackChain } from './webpack.mini'\n\nexport type Frameworks = 'react' | 'preact' | 'nerv'\n\ntype IConfig = {\n reactMode?: 'legacy' | 'concurrent'\n}\n\nexport default (ctx: IPluginContext, config: IConfig = {}) => {\n const { framework } = ctx.initialConfig\n const { reactMode = 'legacy' } = config // will change default value in the future\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 config.__TARO_FRAMEWORK_REACT_MODE__ = `\"${reactMode}\"`\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 const { compiler } = opts\n // 提供给 webpack5 依赖预编译收集器的第三方依赖\n const deps = [\n 'react',\n 'react-dom',\n 'react/jsx-runtime',\n '@tarojs/plugin-framework-react/dist/runtime'\n ]\n if (isString(opts.compiler)) {\n opts.compiler = {\n type: opts.compiler\n }\n }\n if (compiler.type === 'webpack5') {\n compiler.prebundle ||= {}\n const prebundleOptions = compiler.prebundle\n prebundleOptions.include ||= []\n prebundleOptions.include = prebundleOptions.include.concat(deps)\n if (prebundleOptions.enable === false) return\n\n const taroReactPlugin = {\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","isString","fs"],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { EMPTY_OBJ, isFunction, isArray, hooks, ensure } from '@tarojs/shared';
|
|
2
|
+
import { Current, getPageInstance, injectPageInstance, incrementId, document, safeExecute, eventHandler, addLeadingSlash } from '@tarojs/runtime';
|
|
3
3
|
|
|
4
4
|
const reactMeta = {
|
|
5
5
|
PageContext: EMPTY_OBJ,
|
|
@@ -99,6 +99,8 @@ const usePullIntercept = taroHooks('onPullIntercept');
|
|
|
99
99
|
const useShareTimeline = taroHooks('onShareTimeline');
|
|
100
100
|
const useAddToFavorites = taroHooks('onAddToFavorites');
|
|
101
101
|
const useReady = taroHooks('onReady');
|
|
102
|
+
const useLoad = taroHooks('onLoad');
|
|
103
|
+
const useUnload = taroHooks('onUnload');
|
|
102
104
|
const useRouter = (dynamic = false) => {
|
|
103
105
|
const React = reactMeta.R;
|
|
104
106
|
return dynamic ? Current.router : React.useMemo(() => Current.router, []);
|
|
@@ -121,6 +123,8 @@ var taroHooks$1 = /*#__PURE__*/Object.freeze({
|
|
|
121
123
|
useShareTimeline: useShareTimeline,
|
|
122
124
|
useAddToFavorites: useAddToFavorites,
|
|
123
125
|
useReady: useReady,
|
|
126
|
+
useLoad: useLoad,
|
|
127
|
+
useUnload: useUnload,
|
|
124
128
|
useRouter: useRouter,
|
|
125
129
|
useScope: useScope
|
|
126
130
|
});
|
|
@@ -128,20 +132,18 @@ var taroHooks$1 = /*#__PURE__*/Object.freeze({
|
|
|
128
132
|
let h$1;
|
|
129
133
|
let ReactDOM$1;
|
|
130
134
|
const pageKeyId = incrementId();
|
|
131
|
-
const hooks$1 = container.get(SERVICE_IDENTIFIER.Hooks);
|
|
132
135
|
function setReconciler(ReactDOM) {
|
|
133
|
-
|
|
134
|
-
hooks$1.getLifecycle = function (instance, lifecycle) {
|
|
136
|
+
hooks.tap('getLifecycle', function (instance, lifecycle) {
|
|
135
137
|
lifecycle = lifecycle.replace(/^on(Show|Hide)$/, 'componentDid$1');
|
|
136
138
|
return instance[lifecycle];
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
+
});
|
|
140
|
+
hooks.tap('modifyMpEvent', function (event) {
|
|
139
141
|
event.type = event.type.replace(/-/g, '');
|
|
140
142
|
});
|
|
141
|
-
hooks
|
|
143
|
+
hooks.tap('batchedEventUpdates', function (cb) {
|
|
142
144
|
ReactDOM.unstable_batchedUpdates(cb);
|
|
143
|
-
};
|
|
144
|
-
hooks
|
|
145
|
+
});
|
|
146
|
+
hooks.tap('mergePageInstance', function (prev, next) {
|
|
145
147
|
if (!prev || !next)
|
|
146
148
|
return;
|
|
147
149
|
// 子组件使用 lifecycle hooks 注册了生命周期后,会存在 prev,里面是注册的生命周期回调。
|
|
@@ -153,9 +155,9 @@ function setReconciler(ReactDOM) {
|
|
|
153
155
|
const nextList = ensureIsArray(next[item]);
|
|
154
156
|
next[item] = nextList.concat(prevList);
|
|
155
157
|
});
|
|
156
|
-
};
|
|
158
|
+
});
|
|
157
159
|
if (process.env.TARO_ENV === 'h5') {
|
|
158
|
-
hooks
|
|
160
|
+
hooks.tap('createPullDownComponent', (el, _, R, customWrapper) => {
|
|
159
161
|
const isReactComponent = isClassComponent(R, el);
|
|
160
162
|
return R.forwardRef((props, ref) => {
|
|
161
163
|
const newProps = Object.assign({}, props);
|
|
@@ -166,10 +168,10 @@ function setReconciler(ReactDOM) {
|
|
|
166
168
|
};
|
|
167
169
|
return h$1(customWrapper || 'taro-pull-to-refresh', null, h$1(el, Object.assign(Object.assign({}, newProps), refs)));
|
|
168
170
|
});
|
|
169
|
-
};
|
|
170
|
-
hooks
|
|
171
|
+
});
|
|
172
|
+
hooks.tap('getDOMNode', inst => {
|
|
171
173
|
return ReactDOM.findDOMNode(inst);
|
|
172
|
-
};
|
|
174
|
+
});
|
|
173
175
|
}
|
|
174
176
|
}
|
|
175
177
|
function connectReactPage(R, id) {
|
|
@@ -297,7 +299,7 @@ function createReactApp(App, react, dom, config) {
|
|
|
297
299
|
if (process.env.TARO_ENV !== 'h5') {
|
|
298
300
|
renderReactRoot();
|
|
299
301
|
}
|
|
300
|
-
const [ONLAUNCH, ONSHOW, ONHIDE] = hooks
|
|
302
|
+
const [ONLAUNCH, ONSHOW, ONHIDE] = hooks.call('getMiniLifecycleImpl').app;
|
|
301
303
|
const appObj = Object.create({
|
|
302
304
|
render(cb) {
|
|
303
305
|
appWrapper.forceUpdate(cb);
|
|
@@ -387,7 +389,7 @@ function createReactApp(App, react, dom, config) {
|
|
|
387
389
|
const instance = getPageInstance(HOOKS_APP_ID);
|
|
388
390
|
if (instance) {
|
|
389
391
|
const app = getAppInstance();
|
|
390
|
-
const func = hooks
|
|
392
|
+
const func = hooks.call('getLifecycle', instance, lifecycle);
|
|
391
393
|
if (Array.isArray(func)) {
|
|
392
394
|
func.forEach(cb => cb.apply(app, option));
|
|
393
395
|
}
|
|
@@ -493,10 +495,10 @@ function createNativeComponentConfig(Component, react, reactdom, componentConfig
|
|
|
493
495
|
}
|
|
494
496
|
},
|
|
495
497
|
attached() {
|
|
496
|
-
|
|
497
|
-
|
|
498
|
+
const compId = this.compId = getNativeCompId();
|
|
499
|
+
setCurrent(compId);
|
|
498
500
|
this.config = componentConfig;
|
|
499
|
-
Current.app.mount(Component,
|
|
501
|
+
Current.app.mount(Component, compId, () => this);
|
|
500
502
|
},
|
|
501
503
|
ready() {
|
|
502
504
|
safeExecute(this.compId, 'onReady');
|
|
@@ -516,7 +518,7 @@ function createNativeComponentConfig(Component, react, reactdom, componentConfig
|
|
|
516
518
|
eh: eventHandler
|
|
517
519
|
}
|
|
518
520
|
};
|
|
519
|
-
function setCurrent() {
|
|
521
|
+
function setCurrent(compId) {
|
|
520
522
|
const pages = getCurrentPages();
|
|
521
523
|
const currentPage = pages[pages.length - 1];
|
|
522
524
|
if (Current.page === currentPage)
|
|
@@ -526,6 +528,7 @@ function createNativeComponentConfig(Component, react, reactdom, componentConfig
|
|
|
526
528
|
const router = {
|
|
527
529
|
params: currentPage.options || {},
|
|
528
530
|
path: addLeadingSlash(route),
|
|
531
|
+
$taroPath: compId,
|
|
529
532
|
onReady: '',
|
|
530
533
|
onHide: '',
|
|
531
534
|
onShow: ''
|
|
@@ -572,10 +575,7 @@ function createNativeComponentConfig(Component, react, reactdom, componentConfig
|
|
|
572
575
|
return componentObj;
|
|
573
576
|
}
|
|
574
577
|
|
|
575
|
-
|
|
576
|
-
const hooks = container.get(SERVICE_IDENTIFIER.Hooks);
|
|
577
|
-
hooks.initNativeApiImpls || (hooks.initNativeApiImpls = []);
|
|
578
|
-
hooks.initNativeApiImpls.push(function (taro) {
|
|
578
|
+
hooks.tap('initNativeApi', function (taro) {
|
|
579
579
|
for (const hook in taroHooks$1) {
|
|
580
580
|
taro[hook] = taroHooks$1[hook];
|
|
581
581
|
}
|
|
@@ -618,7 +618,7 @@ if (__TARO_FRAMEWORK__ === 'preact') {
|
|
|
618
618
|
if (oldDiffedHook)
|
|
619
619
|
oldDiffedHook(newVNode);
|
|
620
620
|
};
|
|
621
|
-
|
|
621
|
+
hooks.tap('modifyMpEvent', e => {
|
|
622
622
|
const type = e.type;
|
|
623
623
|
if (type === 'tap') {
|
|
624
624
|
e.type = 'click';
|
|
@@ -635,5 +635,5 @@ if (__TARO_FRAMEWORK__ === 'preact') {
|
|
|
635
635
|
// })
|
|
636
636
|
}
|
|
637
637
|
|
|
638
|
-
export { connectReactPage, createNativeComponentConfig, createReactApp, setReconciler, useAddToFavorites, useDidHide, useDidShow, useOptionMenuClick, usePageScroll, usePullDownRefresh, usePullIntercept, useReachBottom, useReady, useResize, useRouter, useScope, useShareAppMessage, useShareTimeline, useTabItemTap, useTitleClick };
|
|
638
|
+
export { connectReactPage, createNativeComponentConfig, createReactApp, setReconciler, useAddToFavorites, useDidHide, useDidShow, useLoad, useOptionMenuClick, usePageScroll, usePullDownRefresh, usePullIntercept, useReachBottom, useReady, useResize, useRouter, useScope, useShareAppMessage, useShareTimeline, useTabItemTap, useTitleClick, useUnload };
|
|
639
639
|
//# sourceMappingURL=runtime.js.map
|
package/dist/runtime.js.map
CHANGED
|
@@ -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 { isArray, isFunction } from '@tarojs/shared'\nimport { Current } from '@tarojs/runtime'\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 { isFunction, isArray } from '@tarojs/shared'\nimport {\n Current,\n getPageInstance,\n injectPageInstance\n} from '@tarojs/runtime'\nimport { reactMeta } from './react-meta'\nimport { HOOKS_APP_ID } from './utils'\n\nimport type { Func, PageLifeCycle } from '@tarojs/runtime'\n\nconst taroHooks = (lifecycle: keyof PageLifeCycle) => {\n return (fn: Func) => {\n const { R: React, PageContext } = reactMeta\n const id = React.useContext(PageContext) || HOOKS_APP_ID\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 = getPageInstance(id)\n let first = false\n if (inst == null) {\n first = true\n inst = Object.create(null)\n }\n\n inst = inst!\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] as any) = [inst[lifecycle], callback]\n } else {\n (inst[lifecycle] as any) = [\n ...((inst[lifecycle] as any) || []),\n callback\n ]\n }\n\n if (first) {\n injectPageInstance(inst!, id)\n }\n return () => {\n const inst = getPageInstance(id)\n const list = inst![lifecycle]\n if (list === callback) {\n (inst![lifecycle] as any) = undefined\n } else if (isArray(list)) {\n (inst![lifecycle] as any) = list.filter(item => item !== callback)\n }\n }\n }, [])\n }\n}\n\nexport const useDidShow = taroHooks('componentDidShow')\n\nexport const useDidHide = taroHooks('componentDidHide')\n\nexport const usePullDownRefresh = taroHooks('onPullDownRefresh')\n\nexport const useReachBottom = taroHooks('onReachBottom')\n\nexport const usePageScroll = taroHooks('onPageScroll')\n\nexport const useResize = taroHooks('onResize')\n\nexport const useShareAppMessage = taroHooks('onShareAppMessage')\n\nexport const useTabItemTap = taroHooks('onTabItemTap')\n\nexport const useTitleClick = taroHooks('onTitleClick')\n\nexport const useOptionMenuClick = taroHooks('onOptionMenuClick')\n\nexport const usePullIntercept = taroHooks('onPullIntercept')\n\nexport const useShareTimeline = taroHooks('onShareTimeline')\n\nexport const useAddToFavorites = taroHooks('onAddToFavorites')\n\nexport const useReady = taroHooks('onReady')\n\nexport const useRouter = (dynamic = false) => {\n const React = reactMeta.R\n return dynamic ? Current.router : React.useMemo(() => Current.router, [])\n}\n\nexport const useScope = () => undefined\n","import { ensure, EMPTY_OBJ } from '@tarojs/shared'\nimport {\n container,\n SERVICE_IDENTIFIER,\n Current,\n document,\n getPageInstance,\n injectPageInstance,\n incrementId\n} from '@tarojs/runtime'\nimport { isClassComponent, ensureIsArray, setDefaultDescriptor, setRouterParams, HOOKS_APP_ID } from './utils'\nimport { reactMeta } from './react-meta'\n\nimport type * as React from 'react'\nimport type { AppConfig } from '@tarojs/taro'\nimport type {\n IHooks,\n AppInstance,\n Instance,\n ReactAppInstance,\n ReactPageComponent,\n PageProps\n} from '@tarojs/runtime'\n\ntype PageComponent = React.CElement<PageProps, React.Component<PageProps, any, any>>\ndeclare const __TARO_FRAMEWORK_REACT_MODE__: string\n\nlet h: typeof React.createElement\nlet ReactDOM\n\nconst pageKeyId = incrementId()\nconst hooks = container.get<IHooks>(SERVICE_IDENTIFIER.Hooks)\n\nexport function setReconciler (ReactDOM) {\n hooks.getLifecycle = function (instance, lifecycle: string) {\n lifecycle = lifecycle.replace(/^on(Show|Hide)$/, 'componentDid$1')\n return instance[lifecycle]\n }\n\n hooks.modifyMpEventImpls?.push(function (event) {\n event.type = event.type.replace(/-/g, '')\n })\n\n hooks.batchedEventUpdates = function (cb) {\n ReactDOM.unstable_batchedUpdates(cb)\n }\n\n hooks.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.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.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 process.env.NODE_ENV !== 'production' && console.warn(error)\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 const appInstanceRef = react.createRef<ReactAppInstance>()\n const isReactComponent = isClassComponent(react, App)\n let appWrapper: AppWrapper\n\n setReconciler(ReactDOM)\n\n function getAppInstance (): ReactAppInstance | null {\n return appInstanceRef.current\n }\n\n function renderReactRoot () {\n const reactMode = __TARO_FRAMEWORK_REACT_MODE__\n let appId = 'app'\n if (process.env.TARO_ENV === 'h5') {\n appId = config?.appId || appId\n } else {\n ReactDOM.version = react.version\n }\n const container = document.getElementById(appId)\n const version = Number((ReactDOM.version || '').split('.')[0])\n if (version >= 18 && reactMode === 'concurrent') {\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 }\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('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.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 appWrapper.mount(component, id, cb)\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 // 用户编写的入口组件实例\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 }\n }),\n\n [ONSHOW]: setDefaultDescriptor({\n value (options) {\n setRouterParams(options)\n\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\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 onPageNotFound: setDefaultDescriptor({\n value (res: unknown) {\n const app = getAppInstance()\n app?.onPageNotFound?.(res)\n }\n })\n })\n\n function triggerAppHook (lifecycle, ...option) {\n const instance = getPageInstance(HOOKS_APP_ID)\n if (instance) {\n const app = getAppInstance()\n const func = hooks.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 Current,\n document,\n injectPageInstance,\n safeExecute,\n addLeadingSlash,\n incrementId,\n eventHandler\n} from '@tarojs/runtime'\nimport { EMPTY_OBJ } from '@tarojs/shared'\nimport { isClassComponent } from './utils'\nimport { setReconciler } from './connect'\nimport { reactMeta } from './react-meta'\n\nimport type * as React from 'react'\nimport type { PageInstance } from '@tarojs/taro'\nimport type {\n TaroRootElement,\n Instance\n} from '@tarojs/runtime'\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 }\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 setCurrent()\n this.compId = getNativeCompId()\n this.config = componentConfig\n Current.app!.mount!(Component, this.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 }\n }\n\n function setCurrent () {\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 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 {\n container,\n SERVICE_IDENTIFIER\n} from '@tarojs/runtime'\nimport * as taroHooks from './hooks'\n\nimport type { IHooks } from '@tarojs/runtime'\n\ndeclare const __TARO_FRAMEWORK__: string\n\nconst hooks = container.get<IHooks>(SERVICE_IDENTIFIER.Hooks)\n\nhooks.initNativeApiImpls ||= []\nhooks.initNativeApiImpls.push(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 normalizedProps[i] = value\n }\n\n vnode.props = normalizedProps\n }\n\n if (oldVNodeHook) oldVNodeHook(vnode)\n }\n options.diffed = function (newVNode) {\n const dom = newVNode._dom\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.modifyMpEventImpls?.push(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 './hooks'\nexport * from './connect'\nexport * from './connect-native'\n"],"names":["h","ReactDOM","hooks","taroHooks"],"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 { isArray, isFunction } from '@tarojs/shared'\nimport { Current } from '@tarojs/runtime'\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 type { Func, PageLifeCycle } from '@tarojs/runtime'\nimport {\n Current,\n getPageInstance,\n injectPageInstance\n} from '@tarojs/runtime'\nimport { isArray, isFunction } from '@tarojs/shared'\n\nimport { reactMeta } from './react-meta'\nimport { HOOKS_APP_ID } from './utils'\n\nconst taroHooks = (lifecycle: keyof PageLifeCycle) => {\n return (fn: Func) => {\n const { R: React, PageContext } = reactMeta\n const id = React.useContext(PageContext) || HOOKS_APP_ID\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 = getPageInstance(id)\n let first = false\n if (inst == null) {\n first = true\n inst = Object.create(null)\n }\n\n inst = inst!\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] as any) = [inst[lifecycle], callback]\n } else {\n (inst[lifecycle] as any) = [\n ...((inst[lifecycle] as any) || []),\n callback\n ]\n }\n\n if (first) {\n injectPageInstance(inst!, id)\n }\n return () => {\n const inst = getPageInstance(id)\n const list = inst![lifecycle]\n if (list === callback) {\n (inst![lifecycle] as any) = undefined\n } else if (isArray(list)) {\n (inst![lifecycle] as any) = list.filter(item => item !== callback)\n }\n }\n }, [])\n }\n}\n\nexport const useDidShow = taroHooks('componentDidShow')\n\nexport const useDidHide = taroHooks('componentDidHide')\n\nexport const usePullDownRefresh = taroHooks('onPullDownRefresh')\n\nexport const useReachBottom = taroHooks('onReachBottom')\n\nexport const usePageScroll = taroHooks('onPageScroll')\n\nexport const useResize = taroHooks('onResize')\n\nexport const useShareAppMessage = taroHooks('onShareAppMessage')\n\nexport const useTabItemTap = taroHooks('onTabItemTap')\n\nexport const useTitleClick = taroHooks('onTitleClick')\n\nexport const useOptionMenuClick = taroHooks('onOptionMenuClick')\n\nexport const usePullIntercept = taroHooks('onPullIntercept')\n\nexport const useShareTimeline = taroHooks('onShareTimeline')\n\nexport const useAddToFavorites = taroHooks('onAddToFavorites')\n\nexport const useReady = taroHooks('onReady')\n\nexport const useLoad = taroHooks('onLoad')\n\nexport const useUnload = taroHooks('onUnload')\n\nexport const useRouter = (dynamic = false) => {\n const React = reactMeta.R\n return dynamic ? Current.router : React.useMemo(() => Current.router, [])\n}\n\nexport const useScope = () => undefined\n","import type {\n AppInstance,\n Instance,\n PageProps,\n ReactAppInstance,\n ReactPageComponent\n} from '@tarojs/runtime'\nimport {\n Current,\n document,\n getPageInstance,\n incrementId,\n injectPageInstance\n} from '@tarojs/runtime'\nimport { EMPTY_OBJ, ensure, hooks } from '@tarojs/shared'\nimport type { AppConfig } from '@tarojs/taro'\nimport type * as React from 'react'\n\nimport { reactMeta } from './react-meta'\nimport { ensureIsArray, HOOKS_APP_ID, isClassComponent, setDefaultDescriptor, setRouterParams } from './utils'\n\ntype PageComponent = React.CElement<PageProps, React.Component<PageProps, any, any>>\ndeclare const __TARO_FRAMEWORK_REACT_MODE__: string\n\nlet h: typeof React.createElement\nlet ReactDOM\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 event.type = event.type.replace(/-/g, '')\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 process.env.NODE_ENV !== 'production' && console.warn(error)\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 const appInstanceRef = react.createRef<ReactAppInstance>()\n const isReactComponent = isClassComponent(react, App)\n let appWrapper: AppWrapper\n\n setReconciler(ReactDOM)\n\n function getAppInstance (): ReactAppInstance | null {\n return appInstanceRef.current\n }\n\n function renderReactRoot () {\n const reactMode = __TARO_FRAMEWORK_REACT_MODE__\n let appId = 'app'\n if (process.env.TARO_ENV === 'h5') {\n appId = config?.appId || appId\n } else {\n ReactDOM.version = react.version\n }\n const container = document.getElementById(appId)\n const version = Number((ReactDOM.version || '').split('.')[0])\n if (version >= 18 && reactMode === 'concurrent') {\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 }\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('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 appWrapper.mount(component, id, cb)\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 // 用户编写的入口组件实例\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 }\n }),\n\n [ONSHOW]: setDefaultDescriptor({\n value (options) {\n setRouterParams(options)\n\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\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 onPageNotFound: setDefaultDescriptor({\n value (res: unknown) {\n const app = getAppInstance()\n app?.onPageNotFound?.(res)\n }\n })\n })\n\n function triggerAppHook (lifecycle, ...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 type {\n Instance,\n TaroRootElement\n} from '@tarojs/runtime'\nimport {\n addLeadingSlash,\n Current,\n document,\n eventHandler,\n incrementId,\n injectPageInstance,\n safeExecute\n} from '@tarojs/runtime'\nimport { EMPTY_OBJ } from '@tarojs/shared'\nimport type { PageInstance } from '@tarojs/taro'\nimport type * as React from 'react'\n\nimport { setReconciler } from './connect'\nimport { reactMeta } from './react-meta'\nimport { isClassComponent } from './utils'\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 }\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 }\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 normalizedProps[i] = value\n }\n\n vnode.props = normalizedProps\n }\n\n if (oldVNodeHook) oldVNodeHook(vnode)\n }\n options.diffed = function (newVNode) {\n const dom = newVNode._dom\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","taroHooks"],"mappings":";;;AASO,MAAM,SAAS,GAAc;AAClC,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,CAAC,EAAE,SAAS;CACb;;ACPM,MAAM,YAAY,GAAG,UAAU,CAAA;AAEtB,SAAA,gBAAgB,CAAE,CAAe,EAAE,SAAS,EAAA;;AAC1D,IAAA,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;;IAGrC,IAAI,CAAA,EAAA,GAAA,SAAS,CAAC,WAAW,0CAAE,QAAQ,CAAC,SAAS,CAAC;AAAE,QAAA,OAAO,KAAK,CAAA;AAE5D,IAAA,QACE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5B,CAAC,EAAC,SAAS,KAAA,IAAA,IAAT,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAS,CAAE,gBAAgB,CAAA;AAC7B,QAAA,SAAS,YAAY,CAAC,CAAC,SAAS;MACjC;AACH,CAAC;AAEK,SAAU,aAAa,CAAK,IAAa,EAAA;AAC7C,IAAA,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;AACjB,QAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AAAM,SAAA;QACL,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;AAC1B,KAAA;AACH,CAAC;AAED;;AAEG;AACG,SAAU,oBAAoB,CAAE,GAAwB,EAAA;AAC5D,IAAA,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAA;AACnB,IAAA,GAAG,CAAC,UAAU,GAAG,IAAI,CAAA;AACrB,IAAA,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;AAGG;AACG,SAAU,eAAe,CAAE,OAAO,EAAA;AACtC,IAAA,OAAO,CAAC,MAAM,GACZ,MAAA,CAAA,MAAA,CAAA,EAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,KAAK,EACnB,EAAA,OAAO,CACX,CAAA;AACH;;ACnCA,MAAM,SAAS,GAAG,CAAC,SAA8B,KAAI;IACnD,OAAO,CAAC,EAAQ,KAAI;QAClB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,SAAS,CAAA;QAC3C,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,YAAY,CAAA;;QAGxD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAC9B,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE;AAAE,YAAA,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;AAE5C,QAAA,KAAK,CAAC,eAAe,CAAC,MAAK;AACzB,YAAA,IAAI,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC,CAAA;YAC9B,IAAI,KAAK,GAAG,KAAK,CAAA;YACjB,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,KAAK,GAAG,IAAI,CAAA;AACZ,gBAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AAC3B,aAAA;YAED,IAAI,GAAG,IAAK,CAAA;;AAGZ,YAAA,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAS,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;AAEzD,YAAA,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;AAC9B,gBAAA,IAAI,CAAC,SAAS,CAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAA;AACvD,aAAA;AAAM,iBAAA;gBACJ,IAAI,CAAC,SAAS,CAAS,GAAG;AACzB,oBAAA,IAAK,IAAI,CAAC,SAAS,CAAS,IAAI,EAAE,CAAC;oBACnC,QAAQ;iBACT,CAAA;AACF,aAAA;AAED,YAAA,IAAI,KAAK,EAAE;AACT,gBAAA,kBAAkB,CAAC,IAAK,EAAE,EAAE,CAAC,CAAA;AAC9B,aAAA;AACD,YAAA,OAAO,MAAK;AACV,gBAAA,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC,CAAA;AAChC,gBAAA,MAAM,IAAI,GAAG,IAAK,CAAC,SAAS,CAAC,CAAA;gBAC7B,IAAI,IAAI,KAAK,QAAQ,EAAE;AACpB,oBAAA,IAAK,CAAC,SAAS,CAAS,GAAG,SAAS,CAAA;AACtC,iBAAA;AAAM,qBAAA,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;AACvB,oBAAA,IAAK,CAAC,SAAS,CAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAA;AACnE,iBAAA;AACH,aAAC,CAAA;SACF,EAAE,EAAE,CAAC,CAAA;AACR,KAAC,CAAA;AACH,CAAC,CAAA;MAEY,UAAU,GAAG,SAAS,CAAC,kBAAkB,EAAC;MAE1C,UAAU,GAAG,SAAS,CAAC,kBAAkB,EAAC;MAE1C,kBAAkB,GAAG,SAAS,CAAC,mBAAmB,EAAC;MAEnD,cAAc,GAAG,SAAS,CAAC,eAAe,EAAC;MAE3C,aAAa,GAAG,SAAS,CAAC,cAAc,EAAC;MAEzC,SAAS,GAAG,SAAS,CAAC,UAAU,EAAC;MAEjC,kBAAkB,GAAG,SAAS,CAAC,mBAAmB,EAAC;MAEnD,aAAa,GAAG,SAAS,CAAC,cAAc,EAAC;MAEzC,aAAa,GAAG,SAAS,CAAC,cAAc,EAAC;MAEzC,kBAAkB,GAAG,SAAS,CAAC,mBAAmB,EAAC;MAEnD,gBAAgB,GAAG,SAAS,CAAC,iBAAiB,EAAC;MAE/C,gBAAgB,GAAG,SAAS,CAAC,iBAAiB,EAAC;MAE/C,iBAAiB,GAAG,SAAS,CAAC,kBAAkB,EAAC;MAEjD,QAAQ,GAAG,SAAS,CAAC,SAAS,EAAC;MAE/B,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAC;MAE7B,SAAS,GAAG,SAAS,CAAC,UAAU,EAAC;MAEjC,SAAS,GAAG,CAAC,OAAO,GAAG,KAAK,KAAI;AAC3C,IAAA,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAA;IACzB,OAAO,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAC3E,EAAC;MAEY,QAAQ,GAAG,MAAM;;;;;;;;;;;;;;;;;;;;;;;;ACvE9B,IAAIA,GAA6B,CAAA;AACjC,IAAIC,UAAQ,CAAA;AAEZ,MAAM,SAAS,GAAG,WAAW,EAAE,CAAA;AAEzB,SAAU,aAAa,CAAE,QAAQ,EAAA;IACrC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,QAAQ,EAAE,SAAiB,EAAA;QAC7D,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAA;AAClE,QAAA,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAA;AAC5B,KAAC,CAAC,CAAA;AAEF,IAAA,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,EAAA;AACxC,QAAA,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AAC3C,KAAC,CAAC,CAAA;AAEF,IAAA,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,UAAU,EAAE,EAAA;AAC3C,QAAA,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAA;AACtC,KAAC,CAAC,CAAA;IAEF,KAAK,CAAC,GAAG,CAAC,mBAAmB,EAAE,UAAU,IAAI,EAAE,IAAI,EAAA;AACjD,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;YAAE,OAAM;;;QAK1B,IAAI,aAAa,IAAI,IAAI;YAAE,OAAM;QAEjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAG;AAC/B,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;YAC3B,MAAM,QAAQ,GAAG,aAAa,CAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACrD,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AACxC,SAAC,CAAC,CAAA;AACJ,KAAC,CAAC,CAAA;AAEF,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE;AACjC,QAAA,KAAK,CAAC,GAAG,CAAC,yBAAyB,EAAE,CACnC,EAAwE,EACxE,CAAC,EACD,CAAe,EACf,aAAa,KACX;YACF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAEhD,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAI;AACjC,gBAAA,MAAM,QAAQ,GAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAmC,KAAK,CAAE,CAAA;AACxD,gBAAA,MAAM,IAAI,GAAG,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC7C,oBAAA,YAAY,EAAE,GAAG;;AAEjB,oBAAA,sBAAsB,EAAE,GAAG;iBAC5B,CAAA;AAED,gBAAA,OAAOD,GAAC,CACN,aAAa,IAAI,sBAAsB,EACvC,IAAI,EACJA,GAAC,CAAC,EAAE,EACC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,GACR,IAAI,CAAA,CACP,CACH,CAAA;AACH,aAAC,CAAC,CAAA;AACJ,SAAC,CAAC,CAAA;AAEF,QAAA,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,IAAG;AAC7B,YAAA,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACnC,SAAC,CAAC,CAAA;AACH,KAAA;AACH,CAAC;AAEe,SAAA,gBAAgB,CAC9B,CAAe,EACf,EAAU,EAAA;IAEV,OAAO,CAAC,IAAwB,KAAqC;;QAEnE,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAClD,QAAA,MAAM,MAAM,GAAG,CAAC,IAAe,KAAK,IAAI,IAAI,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AACxE,QAAA,MAAM,IAAI,GAAG,gBAAgB,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;AAChD,YAAA,YAAY,EAAE,MAAM;;AAEpB,YAAA,sBAAsB,EAAE,MAAM;SAC/B,CAAA;AAED,QAAA,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,EAAE;YACvC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;AAC5C,SAAA;AAED,QAAA,OAAO,MAAM,WAAY,SAAQ,CAAC,CAAC,SAA2C,CAAA;AAAvE,YAAA,WAAA,GAAA;;AACL,gBAAA,IAAA,CAAA,KAAK,GAAG;AACN,oBAAA,QAAQ,EAAE,KAAK;iBAChB,CAAA;aAsCF;YApCC,OAAO,wBAAwB,CAAE,KAAY,EAAA;AAC3C,gBAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC5D,gBAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;aAC1B;;;YAID,iBAAiB,CAAE,KAAY,EAAE,IAAqB,EAAA;AACpD,gBAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AACzC,oBAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACnB,oBAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;AACnC,iBAAA;aACF;YAED,MAAM,GAAA;AACJ,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ;AAClC,sBAAE,EAAE;sBACFA,GAAC,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAEA,GAAC,CAAC,IAAI,EACpD,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,KAAK,CACV,EAAA,IAAI,CACP,CAAA,CAAC,CAAA;AAEL,gBAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE;AACjC,oBAAA,OAAOA,GAAC,CACN,KAAK,EACL,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAC9B,QAAQ,CACT,CAAA;AACF,iBAAA;AAAM,qBAAA;oBACL,OAAOA,GAAC,CACN,MAAM,EACN,EAAE,EAAE,EAAE,EACN,QAAQ,CACT,CAAA;AACF,iBAAA;aACF;SACF,CAAA;AACH,KAAC,CAAA;AACH,CAAC;AAED;;;;;;;AAOG;AACG,SAAU,cAAc,CAC5B,GAAyB,EACzB,KAAmB,EACnB,GAAG,EACH,MAAiB,EAAA;AAEjB,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AACzC,QAAA,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,kEAAkE,CAAC,CAAA;AAClF,KAAA;AAED,IAAA,SAAS,CAAC,CAAC,GAAG,KAAK,CAAA;AACnB,IAAAA,GAAC,GAAG,KAAK,CAAC,aAAa,CAAA;IACvBC,UAAQ,GAAG,GAAG,CAAA;AACd,IAAA,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,EAAoB,CAAA;IAC1D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACrD,IAAA,IAAI,UAAsB,CAAA;IAE1B,aAAa,CAACA,UAAQ,CAAC,CAAA;AAEvB,IAAA,SAAS,cAAc,GAAA;QACrB,OAAO,cAAc,CAAC,OAAO,CAAA;KAC9B;AAED,IAAA,SAAS,eAAe,GAAA;;QACtB,MAAM,SAAS,GAAG,6BAA6B,CAAA;QAC/C,IAAI,KAAK,GAAG,KAAK,CAAA;AACjB,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE;YACjC,KAAK,GAAG,CAAA,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,KAAK,KAAI,KAAK,CAAA;AAC/B,SAAA;AAAM,aAAA;AACL,YAAAA,UAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;AACjC,SAAA;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,CAACA,UAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9D,QAAA,IAAI,OAAO,IAAI,EAAE,IAAI,SAAS,KAAK,YAAY,EAAE;YAC/C,MAAM,IAAI,GAAGA,UAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YAC3C,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,IAAA,EAAGD,GAAC,CAAC,UAAU,CAAC,CAAC,CAAA;AAC7B,SAAA;AAAM,aAAA;YACL,CAAA,EAAA,GAAAC,UAAQ,CAAC,MAAM,MAAG,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAAA,UAAA,EAAAD,GAAC,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAA;AAC5C,SAAA;KACF;AAED,IAAA,MAAM,UAAW,SAAQ,KAAK,CAAC,SAAS,CAAA;AAKtC,QAAA,WAAA,CAAa,KAAK,EAAA;YAChB,KAAK,CAAC,KAAK,CAAC,CAAA;;YAJN,IAAK,CAAA,KAAA,GAA+B,EAAE,CAAA;YACtC,IAAQ,CAAA,QAAA,GAAyB,EAAE,CAAA;YAIzC,UAAU,GAAG,IAAI,CAAA;SAClB;AAEM,QAAA,KAAK,CAAE,aAAiC,EAAE,EAAU,EAAE,EAAc,EAAA;YACzE,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAA;AAC9D,YAAA,MAAM,GAAG,GAAG,EAAE,GAAG,SAAS,EAAE,CAAA;AAC5B,YAAA,MAAM,IAAI,GAAG,MAAMA,GAAC,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;AACnD,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACrB,YAAA,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;SACrB;QAEM,OAAO,CAAE,EAAU,EAAE,EAAc,EAAA;AACxC,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;AAC9B,YAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,CAAA;AAC7D,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;AACvB,YAAA,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;SACrB;QAEM,MAAM,GAAA;AACX,YAAA,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;AAEhC,YAAA,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,gBAAA,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAG,CAAA;AACzB,gBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;AACtB,aAAA;YAED,IAAI,KAAK,GAAqC,IAAI,CAAA;AAElD,YAAA,IAAI,gBAAgB,EAAE;AACpB,gBAAA,KAAK,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,CAAA;AAChC,aAAA;AAED,YAAA,OAAOA,GAAC,CACN,GAAG,EACH,KAAK,EACL,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,GAAGA,GAAC,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,CACpF,CAAA;SACF;AACF,KAAA;AAED,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE;AACjC,QAAA,eAAe,EAAE,CAAA;AAClB,KAAA;AAED,IAAA,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAE,CAAC,GAAG,CAAA;AAE1E,IAAA,MAAM,MAAM,GAAgB,MAAM,CAAC,MAAM,CAAC;AACxC,QAAA,MAAM,CAAE,EAAc,EAAA;AACpB,YAAA,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;SAC3B;AAED,QAAA,KAAK,CAAE,SAA6B,EAAE,EAAU,EAAE,EAAc,EAAA;YAC9D,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;SACpC;QAED,OAAO,CAAE,EAAU,EAAE,EAAc,EAAA;AACjC,YAAA,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;SAC3B;KACF,EAAE;QACD,MAAM,EAAE,oBAAoB,CAAC;AAC3B,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,KAAK,EAAE,MAAM;SACd,CAAC;AAEF,QAAA,CAAC,QAAQ,GAAG,oBAAoB,CAAC;AAC/B,YAAA,KAAK,CAAE,OAAO,EAAA;;gBACZ,eAAe,CAAC,OAAO,CAAC,CAAA;AAExB,gBAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE;;AAEjC,oBAAA,eAAe,EAAE,CAAA;AAClB,iBAAA;;AAGD,gBAAA,MAAM,GAAG,GAAG,cAAc,EAAE,CAAA;AAC5B,gBAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;AAEf,gBAAA,IAAI,GAAG,EAAE;;oBAEP,IAAI,GAAG,CAAC,cAAc,EAAE;AACtB,wBAAA,MAAM,UAAU,GAAG,GAAG,CAAC,cAAc,CAAA;wBACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;wBACpC,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAA;AAChE,wBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,IAAG;AACjB,4BAAA,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE;AAC/B,gCAAA,YAAY,EAAE,IAAI;AAClB,gCAAA,UAAU,EAAE,IAAI;gCAChB,GAAG,GAAA;AACD,oCAAA,OAAO,UAAU,CAAC,GAAG,CAAC,CAAA;iCACvB;AACD,gCAAA,GAAG,CAAE,KAAK,EAAA;AACR,oCAAA,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;iCACxB;AACF,6BAAA,CAAC,CAAA;AACJ,yBAAC,CAAC,CAAA;AACF,wBAAA,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;AAC3C,qBAAA;AAED,oBAAA,CAAA,EAAA,GAAA,GAAG,CAAC,QAAQ,MAAG,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,GAAA,EAAA,OAAO,CAAC,CAAA;AACxB,iBAAA;aACF;SACF,CAAC;AAEF,QAAA,CAAC,MAAM,GAAG,oBAAoB,CAAC;AAC7B,YAAA,KAAK,CAAE,OAAO,EAAA;;gBACZ,eAAe,CAAC,OAAO,CAAC,CAAA;AAExB;;AAEG;AACH,gBAAA,MAAM,GAAG,GAAG,cAAc,EAAE,CAAA;;gBAE5B,CAAA,EAAA,GAAA,GAAG,KAAH,IAAA,IAAA,GAAG,KAAH,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAG,CAAE,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,GAAA,EAAG,OAAO,CAAC,CAAA;;AAEhC,gBAAA,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;aAClC;SACF,CAAC;AAEF,QAAA,CAAC,MAAM,GAAG,oBAAoB,CAAC;YAC7B,KAAK,GAAA;;AACH;;AAEG;AACH,gBAAA,MAAM,GAAG,GAAG,cAAc,EAAE,CAAA;;gBAE5B,CAAA,EAAA,GAAA,GAAG,aAAH,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAH,GAAG,CAAE,gBAAgB,mDAAI,CAAA;;gBAEzB,cAAc,CAAC,QAAQ,CAAC,CAAA;aACzB;SACF,CAAC;QAEF,cAAc,EAAE,oBAAoB,CAAC;AACnC,YAAA,KAAK,CAAE,GAAY,EAAA;;AACjB,gBAAA,MAAM,GAAG,GAAG,cAAc,EAAE,CAAA;gBAC5B,CAAA,EAAA,GAAA,GAAG,KAAH,IAAA,IAAA,GAAG,KAAH,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAG,CAAE,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,GAAA,EAAG,GAAG,CAAC,CAAA;aAC3B;SACF,CAAC;AACH,KAAA,CAAC,CAAA;AAEF,IAAA,SAAS,cAAc,CAAE,SAAS,EAAE,GAAG,MAAM,EAAA;AAC3C,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;AAC9C,QAAA,IAAI,QAAQ,EAAE;AACZ,YAAA,MAAM,GAAG,GAAG,cAAc,EAAE,CAAA;AAC5B,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;AAC5D,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACvB,gBAAA,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;AAC1C,aAAA;AACF,SAAA;KACF;AAED,IAAA,OAAO,CAAC,GAAG,GAAG,MAAM,CAAA;AACpB,IAAA,OAAO,MAAM,CAAA;AACf;;ACpVA,MAAM,eAAe,GAAG,WAAW,EAAE,CAAA;AACrC,IAAI,CAA6B,CAAA;AACjC,IAAI,QAAQ,CAAA;AAEZ,SAAS,wBAAwB,CAAE,CAAe,EAAE,QAAQ,EAAA;AAa1D,IAAA,MAAM,sBAAuB,SAAQ,CAAC,CAAC,SAA0C,CAAA;AAAjF,QAAA,WAAA,GAAA;;AACE,YAAA,IAAA,CAAA,IAAI,GAAG,CAAC,CAAC,SAAS,EAAmB,CAAA;AACrC,YAAA,IAAA,CAAA,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;SAoB1B;QAlBC,iBAAiB,GAAA;AACf,YAAA,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAA;AACzB,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAQ,CAAA;AACtC,YAAA,WAAW,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;AAC1B,YAAA,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;SAChC;QAED,MAAM,GAAA;AACJ,YAAA,QACE,CAAC,CACC,MAAM,EACN;gBACE,GAAG,EAAE,IAAI,CAAC,IAAI;AACf,aAAA,EACD,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CACrC,EACF;SACF;AACF,KAAA;AAED,IAAA,MAAM,KAAM,SAAQ,CAAC,CAAC,SAAwC,CAAA;AAA9D,QAAA,WAAA,GAAA;;AACE,YAAA,IAAA,CAAA,KAAK,GAAgB;AACnB,gBAAA,UAAU,EAAE,EAAE;aACf,CAAA;SAyDF;QAvDC,iBAAiB,GAAA;AACf,YAAA,OAAO,CAAC,GAAG,GAAG,IAAI,CAAA;SACnB;AAED,QAAA,KAAK,CAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAA;YAC9B,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AACvD,YAAA,MAAM,MAAM,GAAG,CAAC,IAAe,KAAK,IAAI,IAAI,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAC5E,YAAA,MAAM,IAAI,GAAG,gBAAgB,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;AAChD,gBAAA,YAAY,EAAE,MAAM;AACpB,gBAAA,sBAAsB,EAAE,MAAM;aAC/B,CAAA;AACD,YAAA,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,EAAE;gBACvC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;AAC5C,aAAA;AACD,YAAA,MAAM,IAAI,GAAG;gBACX,MAAM;AACN,gBAAA,OAAO,EAAE,CAAC,CAAC,sBAAsB,EAAE;AACjC,oBAAA,GAAG,EAAE,MAAM;oBACX,MAAM;AACN,oBAAA,eAAe,CAAE,GAAG,EAAA;AAClB,wBAAA,OAAO,CAAC,CACN,SAAS,CAAC,WAAW,CAAC,QAAQ,EAC9B,EAAE,KAAK,EAAE,MAAM,EAAE,EACjB,CAAC,CACC,SAAS,EAEJ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAC,GAAG,CAAC,IAAI,KAAR,GAAG,CAAC,IAAI,GAAK,EAAE,CAAC,EAAC,KAAK,CAAA,EACvB,IAAI,CACP,EAAA,EAAA,MAAM,EAAE,GAAG,EAAA,CAAA,CAEd,CACF,CAAA;qBACF;iBACF,CAAC;aACH,CAAA;YACD,IAAI,CAAC,QAAQ,CAAC;gBACZ,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC;AAC7C,aAAA,CAAC,CAAA;SACH;AAED,QAAA,OAAO,CAAE,MAAM,EAAA;AACb,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAA;AACxC,YAAA,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;YAClE,MAAM,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;YAC5E,IAAI,CAAC,QAAQ,CAAC;AACZ,gBAAA,UAAU,EAAE,IAAI;AACjB,aAAA,CAAC,CAAA;SACH;QAED,MAAM,GAAA;AACJ,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAA;AACxC,YAAA,QACE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,EACzC;SACF;AACF,KAAA;IAED,aAAa,CAAC,QAAQ,CAAC,CAAA;IAEvB,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;AAE1C,IAAA,QAAQ,CAAC,MAAM,CACb,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,EACZ,GAAG,CACJ,CAAA;AACH,CAAC;AAEK,SAAU,2BAA2B,CAAE,SAAS,EAAE,KAAmB,EAAE,QAAQ,EAAE,eAAe,EAAA;;AACpG,IAAA,SAAS,CAAC,CAAC,GAAG,KAAK,CAAA;AACnB,IAAA,CAAC,GAAG,KAAK,CAAC,aAAa,CAAA;IACvB,QAAQ,GAAG,QAAQ,CAAA;IAEnB,aAAa,CAAC,QAAQ,CAAC,CAAA;AAEvB,IAAA,MAAM,YAAY,GAAwB;AACxC,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,UAAU,EAAE;AACV,YAAA,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;gBACX,QAAQ,CAAE,OAAO,EAAE,MAAM,EAAA;AACvB,oBAAA,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAA;iBACvC;AACF,aAAA;AACF,SAAA;QACD,OAAO,GAAA;AACL,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;AAChB,gBAAA,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AAC1C,aAAA;SACF;QACD,QAAQ,GAAA;YACN,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAA;YAC9C,UAAU,CAAC,MAAM,CAAC,CAAA;AAClB,YAAA,IAAI,CAAC,MAAM,GAAG,eAAe,CAAA;AAC7B,YAAA,OAAO,CAAC,GAAI,CAAC,KAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,CAAA;SACnD;QACD,KAAK,GAAA;AACH,YAAA,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;SACpC;QACD,QAAQ,GAAA;YACN,OAAO,CAAC,GAAI,CAAC,OAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SACnC;AACD,QAAA,aAAa,EAAE;AACb,YAAA,IAAI,CAAE,OAAO,EAAA;gBACX,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;aAC5C;YACD,IAAI,GAAA;AACF,gBAAA,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;aACnC;AACF,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,EAAE,EAAE,YAAY;AACjB,SAAA;KACF,CAAA;IAED,SAAS,UAAU,CAAE,MAAc,EAAA;AACjC,QAAA,MAAM,KAAK,GAAG,eAAe,EAAE,CAAA;QAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC3C,QAAA,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;YAAE,OAAM;AAExC,QAAA,OAAO,CAAC,IAAI,GAAG,WAAW,CAAA;QAE1B,MAAM,KAAK,GAAI,WAAmB,CAAC,KAAK,IAAK,WAAmB,CAAC,SAAS,CAAA;AAC1E,QAAA,MAAM,MAAM,GAAG;AACb,YAAA,MAAM,EAAE,WAAW,CAAC,OAAO,IAAI,EAAE;AACjC,YAAA,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC;AAC5B,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,MAAM,EAAE,EAAE;SACX,CAAA;AACD,QAAA,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;AAEvB,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;;AAExB,YAAA,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE;AAC5C,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,YAAY,EAAE,IAAI;gBAClB,GAAG,GAAA;oBACD,OAAO,IAAI,CAAC,aAAa,CAAA;iBAC1B;AACD,gBAAA,GAAG,CAAE,KAAK,EAAA;AACR,oBAAA,MAAM,CAAC,MAAM,GAAG,KAAK,CAAA;AACrB,oBAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;iBAC3B;AACF,aAAA,CAAC,CAAA;AACH,SAAA;KACF;;IAGD,IACE,SAAS,CAAC,iBAAiB;AAC3B,SAAA,CAAA,EAAA,GAAA,SAAS,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,iBAAiB,CAAA;QACtC,SAAS,CAAC,qBAAqB,EAC/B;AACA,QAAA,YAAY,CAAC,OAAO,CAAC,iBAAiB,GAAG,UAAU,OAAO,EAAA;YACxD,MAAM,MAAM,GAAG,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM,CAAA;AAC9B,YAAA,IAAI,MAAM,EAAE;AACV,gBAAA,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;gBACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;AAC3C,gBAAA,IAAI,OAAO,EAAE;AACX,oBAAA,MAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;AAClC,iBAAA;AACF,aAAA;YACD,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAA;AAC/D,SAAC,CAAA;AACF,KAAA;IACD,IACE,SAAS,CAAC,eAAe;AACzB,SAAA,CAAA,EAAA,GAAA,SAAS,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,eAAe,CAAA;QACpC,SAAS,CAAC,mBAAmB,EAC7B;AACA,QAAA,YAAY,CAAC,OAAO,CAAC,eAAe,GAAG,YAAA;YACrC,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AACpD,SAAC,CAAA;AACF,KAAA;AAED,IAAA,OAAO,YAAY,CAAA;AACrB;;ACjPA,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,EAAA;AACvC,IAAA,KAAK,MAAM,IAAI,IAAIE,WAAS,EAAE;QAC5B,IAAI,CAAC,IAAI,CAAC,GAAGA,WAAS,CAAC,IAAI,CAAC,CAAA;AAC7B,KAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,kBAAkB,KAAK,QAAQ,EAAE;IACnC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAA;AACzC,IAAA,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAA;AAClC,IAAA,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAA;AACpC,IAAA,OAAO,CAAC,KAAK,GAAG,KAAK,IAAG;AACtB,QAAA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;QAC7B,IAAI,eAAe,GAAG,KAAK,CAAA;;AAG3B,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,eAAe,GAAG,EAAE,CAAA;AAEpB,YAAA,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;AACnB,gBAAA,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;AAEtB,gBAAA,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,oBAAA,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;AACpB,iBAAA;AAED,gBAAA,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AAC3B,aAAA;AAED,YAAA,KAAK,CAAC,KAAK,GAAG,eAAe,CAAA;AAC9B,SAAA;AAED,QAAA,IAAI,YAAY;YAAE,YAAY,CAAC,KAAK,CAAC,CAAA;AACvC,KAAC,CAAA;AACD,IAAA,OAAO,CAAC,MAAM,GAAG,UAAU,QAAQ,EAAA;AACjC,QAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAA;AACzB,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAA;QACpC,IAAI,GAAG,EAAE;AACP,YAAA,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE;AACpC,gBAAA,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;AACzC,gBAAA,IAAI,SAAS,KAAK,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE;;;AAG5D,oBAAA,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;AACtC,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,IAAI,aAAa;YAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;AAC5C,KAAC,CAAA;AAED,IAAA,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,IAAG;AAC7B,QAAA,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAA;QACnB,IAAI,IAAI,KAAK,KAAK,EAAE;AAClB,YAAA,CAAC,CAAC,IAAI,GAAG,OAAO,CAAA;AACjB,SAAA;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE;;AAE3B,YAAA,CAAC,CAAC,IAAI,GAAG,SAAS,CAAA;AACnB,SAAA;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE;AAC1B,YAAA,CAAC,CAAC,IAAI,GAAG,UAAU,CAAA;AACpB,SAAA;AACH,KAAC,CAAC,CAAA;;;AAGH;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarojs/plugin-framework-react",
|
|
3
|
-
"version": "3.5.0-
|
|
3
|
+
"version": "3.5.0-beta.2",
|
|
4
4
|
"description": "React/Preact/Nerv 框架插件",
|
|
5
5
|
"author": "drchan",
|
|
6
6
|
"homepage": "https://github.com/nervjs/taro",
|
|
@@ -25,15 +25,11 @@
|
|
|
25
25
|
"url": "https://github.com/NervJS/taro/issues"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@tarojs/runtime": "3.5.0-
|
|
29
|
-
"@tarojs/shared": "3.5.0-
|
|
28
|
+
"@tarojs/runtime": "3.5.0-beta.2",
|
|
29
|
+
"@tarojs/shared": "3.5.0-beta.2",
|
|
30
30
|
"acorn": "^8.0.4",
|
|
31
31
|
"acorn-walk": "^8.0.0"
|
|
32
32
|
},
|
|
33
|
-
"devDependencies": {
|
|
34
|
-
"@tarojs/service": "3.5.0-alpha.9",
|
|
35
|
-
"@tarojs/taro": "3.5.0-alpha.9"
|
|
36
|
-
},
|
|
37
33
|
"peerDependenciesMeta": {
|
|
38
34
|
"@pmmmwh/react-refresh-webpack-plugin": {
|
|
39
35
|
"optional": true
|
|
@@ -45,5 +41,5 @@
|
|
|
45
41
|
"optional": true
|
|
46
42
|
}
|
|
47
43
|
},
|
|
48
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "c85adaa45959e6cafc15e6531f4735a7dfa2aab0"
|
|
49
45
|
}
|