@tarojs/plugin-framework-solid 4.0.0-beta.84 → 4.0.0-beta.86

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/constant.ts","../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.18.0_tslib@2.6.2_typescript@5.4.5/node_modules/tslib/tslib.es6.js","../src/api-loader.ts","../src/loader-meta.ts","../src/vite.h5.ts","../src/vite.harmony.ts","../src/vite.mini.ts","../src/webpack.h5.ts","../src/webpack.harmony.ts","../src/webpack.mini.ts","../src/index.ts"],"sourcesContent":["export const RECONCILER_NAME = '@tarojs/plugin-framework-solid/dist/reconciler'\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","export default function (str: string) {\n return `import {\n useAddToFavorites,\n useDidHide,\n useDidShow,\n useError,\n useLaunch,\n useLoad,\n useOptionMenuClick,\n usePageNotFound,\n usePageScroll,\n usePullDownRefresh,\n usePullIntercept,\n useReachBottom,\n useReady,\n useResize,\n useRouter,\n useSaveExitState,\n useShareAppMessage,\n useShareTimeline,\n useTabItemTap,\n useTitleClick,\n useScope,\n useUnhandledRejection,\n useUnload\n} from '@tarojs/plugin-framework-solid/dist/runtime'\n${str}\n\ntaro.useAddToFavorites = useAddToFavorites\ntaro.useDidHide = useDidHide\ntaro.useDidShow = useDidShow\ntaro.useError = useError\ntaro.useLaunch = useLaunch\ntaro.useLoad = useLoad\ntaro.useOptionMenuClick = useOptionMenuClick\ntaro.usePageNotFound = usePageNotFound\ntaro.usePageScroll = usePageScroll\ntaro.usePullDownRefresh = usePullDownRefresh\ntaro.usePullIntercept = usePullIntercept\ntaro.useReachBottom = useReachBottom\ntaro.useReady = useReady\ntaro.useResize = useResize\ntaro.useRouter = useRouter\ntaro.useSaveExitState = useSaveExitState\ntaro.useShareAppMessage = useShareAppMessage\ntaro.useShareTimeline = useShareTimeline\ntaro.useTabItemTap = useTabItemTap\ntaro.useTitleClick = useTitleClick\ntaro.useScope = useScope\ntaro.useUnhandledRejection = useUnhandledRejection\ntaro.useUnload = useUnload\n\nexport {\n useAddToFavorites,\n useDidHide,\n useDidShow,\n useError,\n useLaunch,\n useLoad,\n useOptionMenuClick,\n usePageNotFound,\n usePageScroll,\n usePullDownRefresh,\n usePullIntercept,\n useReachBottom,\n useReady,\n useResize,\n useRouter,\n useSaveExitState,\n useShareAppMessage,\n useShareTimeline,\n useTabItemTap,\n useTitleClick,\n useScope,\n useUnhandledRejection,\n useUnload\n}\n`\n}\n","import * as acorn from 'acorn'\nimport * as walk from 'acorn-walk'\n\nimport type { ILoaderMeta } from '@tarojs/taro/types/compile/config/plugin'\n\nfunction addConfig (source) {\n const configsMap = {\n enableShareAppMessage: ['onShareAppMessage', 'useShareAppMessage'],\n enableShareTimeline: ['onShareTimeline', 'useShareTimeline']\n }\n const ast = acorn.parse(source, {\n ecmaVersion: 'latest',\n sourceType: 'module'\n })\n\n const additionConfig: Record<string, any> = {}\n\n function check (name: string) {\n Object.keys(configsMap).forEach(configName => {\n const apis: string[] = configsMap[configName]\n if (apis.includes(name)) {\n additionConfig[configName] = true\n }\n })\n }\n\n walk.simple(ast, {\n FunctionExpression (node: any) {\n if (!node.id || !node.id.name) return\n check(node.id.name)\n },\n FunctionDeclaration (node: any) {\n if (!node.id || !node.id.name) return\n check(node.id.name)\n },\n CallExpression (node: any) {\n const { callee } = node\n if (callee.type === 'Identifier') {\n check(callee.name)\n } else if (callee.type === 'MemberExpression') {\n if (callee.property.type === 'Identifier') {\n check(callee.property.name)\n } else if (callee.property.type === 'Literal') {\n check(callee.property.value)\n }\n }\n node.arguments.forEach(item => {\n if (item.type === 'Literal' && item.value) {\n check(item.value)\n }\n })\n }\n })\n\n return additionConfig\n}\n\nexport function getLoaderMeta (): ILoaderMeta {\n const loaderMeta = {\n importFrameworkStatement: '',\n mockAppStatement: `\nfunction App(props) {\nreturn null\n}\n`,\n frameworkArgs: 'config',\n creator: 'createSolidApp',\n creatorLocation: '@tarojs/plugin-framework-solid/dist/runtime',\n importFrameworkName: '',\n extraImportForWeb: '',\n execBeforeCreateWebApp: '',\n modifyConfig (config, source) {\n Object.assign(config, addConfig(source))\n },\n\n }\n\n return loaderMeta\n}\n","import { fs, REG_TARO_H5_RUNTIME_API } from '@tarojs/helper'\nimport { mergeWith } from 'lodash'\n\nimport apiLoader from './api-loader'\nimport { getLoaderMeta } from './loader-meta'\n\nimport type { IPluginContext } from '@tarojs/service'\nimport type { PluginOption } from 'vite'\n\nexport function h5iVitePlugin (ctx: IPluginContext): PluginOption[] {\n return [\n injectLoaderMeta(ctx),\n setTaroApi(),\n ]\n}\n\nfunction injectLoaderMeta (ctx: IPluginContext): PluginOption {\n function customizer (object = '', sources = '') {\n if ([object, sources].every(e => typeof e === 'string')) return object + sources\n }\n const { runnerUtils } = ctx\n const { getViteH5CompilerContext } = runnerUtils\n return {\n name: 'taro-solid:loader-meta',\n async buildStart () {\n const viteCompilerContext = await getViteH5CompilerContext(this)\n if (viteCompilerContext) {\n viteCompilerContext.loaderMeta = mergeWith(\n getLoaderMeta(), viteCompilerContext.loaderMeta, customizer\n )\n }\n }\n }\n}\n\nfunction setTaroApi (): PluginOption {\n // dev 环境通过 esbuild 来做; pro 环境通过 rollup load 钩子来做;因为生产环境不会走 esbuild\n return {\n name: 'taro-solid:process-import-taro',\n enforce: 'pre',\n config: () => ({\n optimizeDeps: {\n esbuildOptions: {\n plugins: [\n {\n name: 'taro:solid-api',\n setup (build) {\n build.onLoad({ filter: REG_TARO_H5_RUNTIME_API }, async (args) => {\n const input = await fs.readFile(args.path, 'utf8')\n return {\n contents: apiLoader(input + '\\n' + 'const taro = Taro__default\\n')\n }\n })\n },\n }\n ]\n }\n },\n }),\n async load (id) {\n if (process.env.NODE_ENV === 'production' && REG_TARO_H5_RUNTIME_API.test(id)) {\n try {\n const input = await fs.readFile(id, 'utf8')\n return apiLoader(input + '\\n' + 'const taro = Taro__default\\n')\n } catch (_) {\n return null\n }\n }\n }\n }\n}\n\n\n","\nimport { RECONCILER_NAME } from './constant'\nimport { getLoaderMeta } from './loader-meta'\n\nimport type { IPluginContext } from '@tarojs/service'\nimport type { PluginOption } from 'vite'\n\nexport function harmonyVitePlugin (ctx: IPluginContext): PluginOption {\n return [\n injectLoaderMeta(ctx),\n aliasPlugin(),\n ]\n}\n\nfunction injectLoaderMeta (ctx: IPluginContext): PluginOption {\n return {\n name: 'taro-solid:loader-meta',\n buildStart () {\n const { runnerUtils } = ctx\n const { getViteHarmonyCompilerContext } = runnerUtils\n const viteCompilerContext = getViteHarmonyCompilerContext(this)\n if (viteCompilerContext) {\n viteCompilerContext.loaderMeta = getLoaderMeta()\n }\n }\n }\n}\n\nfunction aliasPlugin (): PluginOption {\n return {\n name: 'taro-solid:alias',\n config () {\n const alias = [\n { find: 'solid-js/web$', replacement: RECONCILER_NAME },\n { find: 'react/jsx-runtime', replacement: RECONCILER_NAME },\n ]\n\n return {\n resolve: {\n alias\n }\n }\n }\n }\n}\n","import { RECONCILER_NAME } from './constant'\nimport { getLoaderMeta } from './loader-meta'\n\nimport type { IPluginContext } from '@tarojs/service'\nimport type { PluginOption } from 'vite'\n\nexport function miniVitePlugin (ctx: IPluginContext): PluginOption {\n return [\n injectLoaderMeta(ctx),\n aliasPlugin(),\n ]\n}\n\nfunction injectLoaderMeta (ctx: IPluginContext): PluginOption {\n return {\n name: 'taro-solid:loader-meta',\n buildStart () {\n const { runnerUtils } = ctx\n const { getViteMiniCompilerContext } = runnerUtils\n const viteCompilerContext = getViteMiniCompilerContext(this)\n if (viteCompilerContext) {\n viteCompilerContext.loaderMeta = getLoaderMeta()\n }\n }\n }\n}\n\nfunction aliasPlugin (): PluginOption {\n return {\n name: 'taro-solid:alias',\n config () {\n const alias = [\n { find: 'solid-js/web$', replacement: RECONCILER_NAME },\n ]\n\n return {\n resolve: {\n alias\n }\n }\n }\n }\n}\n","import { defaultMainFields, REG_TARO_H5, resolveSync } from '@tarojs/helper'\nimport { mergeWith } from 'lodash'\n\nimport { getLoaderMeta } from './loader-meta'\n\nimport type { IPluginContext } from '@tarojs/service'\nimport type Chain from 'webpack-chain'\n\nexport function modifyH5WebpackChain (ctx: IPluginContext, chain: Chain) {\n setLoader(chain)\n setPlugin(chain)\n\n const { isBuildNativeComp = false } = ctx.runOpts?.options || {}\n const externals: Record<string, { [externalType: string]: string } | string> = {}\n\n if (isBuildNativeComp) {\n chain.merge({\n externalsType: 'umd'\n })\n }\n\n chain.merge({\n externals,\n module: {\n rule: {\n 'process-import-taro-h5': {\n test: REG_TARO_H5,\n loader: require.resolve('./api-loader'),\n },\n },\n },\n })\n\n chain.merge({\n externals,\n module: {\n rule: {\n 'process-import-taro-harmony-hybrid': {\n test: /taro-platform-harmony-hybrid[\\\\/]dist[\\\\/]api[\\\\/]apis[\\\\/]taro/,\n loader: require.resolve('./api-loader')\n }\n }\n },\n })\n}\n\nfunction setLoader (chain) {\n function customizer (object = '', sources = '') {\n if ([object, sources].every((e) => typeof e === 'string')) return object + sources\n }\n chain.plugin('mainPlugin').tap((args) => {\n args[0].loaderMeta = mergeWith(getLoaderMeta(), args[0].loaderMeta, customizer)\n return args\n })\n}\n\nfunction setPlugin (chain) {\n const mainFields = ['unpkg', ...defaultMainFields]\n const resolveOptions = {\n basedir: process.cwd(),\n mainFields,\n }\n const alias = chain.resolve.alias\n // Note: 本地 link 调试时,避免 solid 重复打包\n alias.set('solid-js$', resolveSync('solid-js', resolveOptions))\n}\n","import { RECONCILER_NAME } from './constant'\nimport { getLoaderMeta } from './loader-meta'\n\nexport function modifyHarmonyWebpackChain (chain) {\n setAlias(chain)\n setLoader(chain)\n}\n\nfunction setAlias (chain) {\n const alias = chain.resolve.alias\n\n alias.set('solid-js/web$', RECONCILER_NAME)\n}\n\nfunction setLoader (chain) {\n chain.plugin('mainPlugin').tap((args) => {\n args[0].loaderMeta = getLoaderMeta()\n return args\n })\n}\n","import { defaultMainFields, resolveSync } from '@tarojs/helper'\n\nimport { RECONCILER_NAME } from './constant'\nimport { getLoaderMeta } from './loader-meta'\n\nexport function modifyMiniWebpackChain (chain) {\n setAlias(chain)\n setLoader(chain)\n}\n\nfunction setAlias (chain) {\n const alias = chain.resolve.alias\n const mainFields = ['unpkg', ...defaultMainFields]\n const resolveOptions = {\n basedir: process.cwd(),\n mainFields,\n }\n alias.set('solid-js/web$', RECONCILER_NAME)\n // Note: 本地 link 调试时,避免 solid 重复打包\n alias.set('solid-js$', resolveSync('solid-js', resolveOptions))\n}\n\nfunction setLoader (chain) {\n chain.plugin('miniPlugin')\n .tap(args => {\n args[0].loaderMeta = getLoaderMeta()\n return args\n })\n}\n","import { fs, REG_TARO_H5 } from '@tarojs/helper'\nimport { capitalize, internalComponents, isString, toCamelCase } from '@tarojs/shared'\n\nimport { RECONCILER_NAME } from './constant'\nimport { h5iVitePlugin } from './vite.h5'\nimport { harmonyVitePlugin } from './vite.harmony'\nimport { miniVitePlugin } from './vite.mini'\nimport { modifyH5WebpackChain } from './webpack.h5'\nimport { modifyHarmonyWebpackChain } from './webpack.harmony'\nimport { modifyMiniWebpackChain } from './webpack.mini'\n\nimport type { IPluginContext } from '@tarojs/service'\nimport type { IComponentConfig } from '@tarojs/taro/types/compile/hooks'\n\ninterface IParseCreateElementArgs {\n nodeName: string\n componentConfig: IComponentConfig\n}\n\nexport default (ctx: IPluginContext) => {\n const { framework } = ctx.initialConfig\n\n if (framework !== 'solid') return\n\n ctx.modifyWebpackChain(({ chain }) => {\n chain.plugin('definePlugin').tap((args) => {\n const config = args[0]\n config.__TARO_FRAMEWORK__ = `\"${framework}\"`\n return args\n })\n\n if (process.env.TARO_PLATFORM === 'web') {\n // H5\n modifyH5WebpackChain(ctx, chain)\n } else if (process.env.TARO_PLATFORM === 'harmony' || process.env.TARO_ENV === 'harmony') {\n // 鸿蒙\n modifyHarmonyWebpackChain(chain)\n } else {\n // 小程序\n modifyMiniWebpackChain(chain)\n }\n })\n\n ctx.modifyRunnerOpts(({ opts }) => {\n if (!opts?.compiler) return\n\n if (isString(opts.compiler)) {\n opts.compiler = {\n type: opts.compiler,\n }\n }\n\n const { compiler } = opts\n if (compiler.type === 'webpack5') {\n // 提供给 webpack5 依赖预编译收集器的第三方依赖\n const deps = ['@tarojs/plugin-framework-solid/dist/runtime']\n compiler.prebundle ||= {}\n const prebundleOptions = compiler.prebundle\n prebundleOptions.include ||= []\n prebundleOptions.include = prebundleOptions.include.concat(deps)\n\n const taroSolidPlugin = {\n name: 'taroSolidPlugin',\n setup (build) {\n build.onLoad({ filter: REG_TARO_H5 }, ({ path }) => {\n const content = fs.readFileSync(path).toString()\n return {\n contents: require('./api-loader')(content),\n }\n })\n build.onLoad({ filter: /taro-platform-harmony-hybrid[\\\\/]dist[\\\\/]api[\\\\/]apis[\\\\/]taro/ }, ({ 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(taroSolidPlugin)\n } else if (compiler.type === 'vite') {\n const solidPlugin = require('vite-plugin-solid')\n compiler.vitePlugins ||= []\n const solidOptions = {}\n if (process.env.TARO_PLATFORM === 'web') {\n // H5\n compiler.vitePlugins.push(...h5iVitePlugin(ctx))\n } else if (process.env.TARO_PLATFORM === 'harmony' || process.env.TARO_ENV === 'harmony') {\n // 鸿蒙\n compiler.vitePlugins.push(harmonyVitePlugin(ctx))\n } else {\n Object.assign(solidOptions, {\n moduleName: RECONCILER_NAME,\n generate: 'universal',\n uniqueTransform: true,\n })\n // 小程序\n compiler.vitePlugins.push(miniVitePlugin(ctx))\n }\n // @TODO vite的插件需要内部删除babel-preset-solid\n compiler.vitePlugins.unshift(solidPlugin({\n babel: {\n presets: [\n [\n require('babel-plugin-transform-solid-jsx'),\n solidOptions\n ],\n ],\n },\n }))\n }\n })\n\n // 映射、收集使用到的小程序组件\n ctx.onParseCreateElement(({ nodeName, componentConfig }: IParseCreateElementArgs) => {\n if (capitalize(toCamelCase(nodeName)) in internalComponents) {\n componentConfig.includes.add(nodeName)\n }\n })\n}\n\n"],"names":["acorn","walk","injectLoaderMeta","mergeWith","REG_TARO_H5_RUNTIME_API","fs","aliasPlugin","setLoader","REG_TARO_H5","defaultMainFields","resolveSync","setAlias","isString","capitalize","toCamelCase","internalComponents"],"mappings":"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","x_google_ignoreList":[1]}
@@ -0,0 +1,187 @@
1
+ import { getOwner, sharedConfig, createEffect, runWithOwner, createMemo, onCleanup, splitProps, $DEVCOMP, untrack } from 'solid-js';
2
+ import { document as document$1, TaroText } from '@tarojs/runtime';
3
+ import { createRenderer } from 'solid-js/universal';
4
+ import { render as render$1, createComponent as createComponent$1, insert as insert$1 } from 'solid-js/web/dist/web';
5
+ import { isFunction, isObject, capitalize, toCamelCase, internalComponents } from '@tarojs/shared';
6
+
7
+ function isEventName(s) {
8
+ return s.startsWith('on');
9
+ }
10
+ function setEvent(dom, name, value, oldValue) {
11
+ const isCapture = name.endsWith('Capture');
12
+ let eventName = name.toLowerCase().slice(2);
13
+ if (isCapture) {
14
+ eventName = eventName.slice(0, -7);
15
+ }
16
+ const compName = capitalize(toCamelCase(dom.tagName.toLowerCase()));
17
+ if (eventName === 'click' && process.env.TARO_PLATFORM !== 'harmony' && compName in internalComponents) {
18
+ eventName = 'tap';
19
+ }
20
+ if (isFunction(value)) {
21
+ if (oldValue) {
22
+ dom.removeEventListener(eventName, oldValue, false);
23
+ dom.addEventListener(eventName, value, { isCapture, sideEffect: false });
24
+ }
25
+ else {
26
+ dom.addEventListener(eventName, value, isCapture);
27
+ }
28
+ }
29
+ else {
30
+ dom.removeEventListener(eventName, oldValue);
31
+ }
32
+ }
33
+ // 优化后的代码
34
+ function setProperty(dom, name, value, oldValue) {
35
+ if (name === 'key' || name === 'children' || name === 'ref')
36
+ return;
37
+ if (name === 'classList') {
38
+ updateClassList(dom, value);
39
+ }
40
+ else if (isEventName(name)) {
41
+ setEvent(dom, name, value, oldValue);
42
+ }
43
+ else if (name === 'dangerouslySetInnerHTML') {
44
+ updateInnerHTML(dom, value, oldValue);
45
+ }
46
+ else if (!isFunction(value)) {
47
+ updateAttribute(dom, name, value);
48
+ }
49
+ }
50
+ function updateClassList(dom, newValue) {
51
+ const [addList, removeList] = [[], []];
52
+ for (const key in newValue) {
53
+ if (newValue[key]) {
54
+ addList.push(key);
55
+ }
56
+ else {
57
+ removeList.push(key);
58
+ }
59
+ }
60
+ dom.classList.add(...addList);
61
+ dom.classList.remove(...removeList);
62
+ }
63
+ function updateInnerHTML(dom, newValue, oldValue) {
64
+ var _a, _b;
65
+ const newHtml = (_a = newValue === null || newValue === void 0 ? void 0 : newValue.__html) !== null && _a !== void 0 ? _a : '';
66
+ const oldHtml = (_b = oldValue === null || oldValue === void 0 ? void 0 : oldValue.__html) !== null && _b !== void 0 ? _b : '';
67
+ if (newHtml || oldHtml) {
68
+ if (newHtml !== oldHtml) {
69
+ dom.innerHTML = newHtml;
70
+ }
71
+ }
72
+ }
73
+ function updateAttribute(dom, name, value) {
74
+ if (value == null) {
75
+ dom.removeAttribute(name);
76
+ }
77
+ else {
78
+ // 处理对象类型的style样式
79
+ if (name === 'style' && isObject(value)) {
80
+ value = Object.keys(value).reduce((acc, key) => {
81
+ acc.push(`${key}: ${value[key]}`);
82
+ return acc;
83
+ }, []).join(';');
84
+ }
85
+ dom.setAttribute(name, value);
86
+ }
87
+ }
88
+
89
+ const ref = createRenderer({
90
+ createElement(type) {
91
+ return document$1.createElement(type);
92
+ },
93
+ createTextNode(text) {
94
+ return document$1.createTextNode(text);
95
+ },
96
+ replaceText(textNode, value) {
97
+ textNode.textContent = value;
98
+ },
99
+ setProperty(node, name, value, prev) {
100
+ setProperty(node, name, value, prev);
101
+ },
102
+ insertNode(parent, node, anchor) {
103
+ parent.insertBefore(node, anchor);
104
+ },
105
+ isTextNode(node) {
106
+ if (typeof node === 'string') {
107
+ return true;
108
+ }
109
+ return node instanceof TaroText;
110
+ },
111
+ removeNode(parent, node) {
112
+ parent.removeChild(node);
113
+ },
114
+ getParentNode(node) {
115
+ return node.parentNode || undefined;
116
+ },
117
+ getFirstChild(node) {
118
+ return node.firstChild || undefined;
119
+ },
120
+ getNextSibling(node) {
121
+ return node.nextSibling || undefined;
122
+ },
123
+ });
124
+ const render = process.env.TARO_PLATFORM === 'web' ? render$1 : ref.render;
125
+ const effect = ref.effect;
126
+ const memo = ref.memo;
127
+ const createElement = ref.createElement;
128
+ const createComponent = process.env.TARO_PLATFORM === 'web' ? createComponent$1 : ref.createComponent;
129
+ const createTextNode = ref.createTextNode;
130
+ const insertNode = ref.insertNode;
131
+ const insert = process.env.TARO_PLATFORM === 'web' ? insert$1 : ref.insert;
132
+ const spread = ref.spread;
133
+ const setProp = ref.setProp;
134
+ const mergeProps = ref.mergeProps;
135
+ const use = ref.use;
136
+ function Fragment(props) {
137
+ return props.children;
138
+ }
139
+
140
+ function Portal(props) {
141
+ const marker = document.createTextNode('');
142
+ const mount = () => props.mount || document.body;
143
+ const owner = getOwner();
144
+ let content;
145
+ let hydrating = !!sharedConfig.context;
146
+ createEffect(() => {
147
+ // basically we backdoor into a sort of renderEffect here
148
+ if (hydrating)
149
+ getOwner().user = hydrating = false;
150
+ content || (content = runWithOwner(owner, () => createMemo(() => props.children)));
151
+ const el = mount();
152
+ const container = createElement('view');
153
+ const renderRoot = container;
154
+ Object.defineProperty(container, '_$host', {
155
+ get() {
156
+ return marker.parentNode;
157
+ },
158
+ configurable: true
159
+ });
160
+ insert(renderRoot, content);
161
+ el.appendChild(container);
162
+ props.ref && props.ref(container);
163
+ onCleanup(() => el.removeChild(container));
164
+ }, undefined, { render: !hydrating });
165
+ return marker;
166
+ }
167
+ function Dynamic(props) {
168
+ const [p, others] = splitProps(props, ['component']);
169
+ const cached = createMemo(() => p.component);
170
+ return createMemo(() => {
171
+ const component = cached();
172
+ switch (typeof component) {
173
+ case 'function':
174
+ // eslint-disable-next-line no-constant-condition
175
+ Object.assign(component, { [$DEVCOMP]: true });
176
+ return untrack(() => component(others));
177
+ case 'string':
178
+ // eslint-disable-next-line no-case-declarations
179
+ const el = createElement(component);
180
+ spread(el, others, false);
181
+ return el;
182
+ }
183
+ });
184
+ }
185
+
186
+ export { Dynamic, Fragment, Portal, createComponent, createElement, createTextNode, effect, insert, insertNode, memo, mergeProps, render, setProp, spread, use };
187
+ //# sourceMappingURL=reconciler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconciler.js","sources":["../src/reconciler/props.ts","../src/reconciler/render.ts","../src/reconciler/index.ts"],"sourcesContent":["import { TaroElement } from '@tarojs/runtime'\nimport {\n capitalize,\n internalComponents,\n isFunction,\n isObject,\n toCamelCase,\n} from '@tarojs/shared'\n\ninterface DangerouslySetInnerHTML {\n __html?: string\n}\ntype ClassList = { [key: string]: boolean };\n\nfunction isEventName (s: string) {\n return s.startsWith('on')\n}\n\nfunction setEvent (\n dom: TaroElement,\n name: string,\n value: unknown,\n oldValue?: unknown\n) {\n const isCapture = name.endsWith('Capture')\n let eventName = name.toLowerCase().slice(2)\n if (isCapture) {\n eventName = eventName.slice(0, -7)\n }\n\n const compName = capitalize(toCamelCase(dom.tagName.toLowerCase()))\n\n if (eventName === 'click' && process.env.TARO_PLATFORM !== 'harmony' && compName in internalComponents) {\n eventName = 'tap'\n }\n\n if (isFunction(value)) {\n if (oldValue) {\n dom.removeEventListener(eventName, oldValue, false)\n dom.addEventListener(eventName, value, { isCapture, sideEffect: false })\n } else {\n dom.addEventListener(eventName, value, isCapture)\n }\n } else {\n dom.removeEventListener(eventName, oldValue)\n }\n}\n\n// 优化后的代码\nexport function setProperty (\n dom: TaroElement,\n name: string,\n value: any,\n oldValue?: any\n) {\n if (name === 'key' || name === 'children' || name === 'ref') return\n if (name === 'classList') {\n updateClassList(dom, value as ClassList)\n } else if (isEventName(name)) {\n setEvent(dom, name, value, oldValue)\n } else if (name === 'dangerouslySetInnerHTML') {\n updateInnerHTML(dom, value as DangerouslySetInnerHTML, oldValue as DangerouslySetInnerHTML)\n } else if (!isFunction(value)) {\n updateAttribute(dom, name, value)\n }\n}\n\nfunction updateClassList (dom: TaroElement, newValue: ClassList) {\n const [addList, removeList]: [string[], string[]] = [[], []]\n for (const key in newValue) {\n if (newValue[key]) {\n addList.push(key)\n } else {\n removeList.push(key)\n }\n }\n (dom.classList as any).add(...addList);\n (dom.classList as any).remove(...removeList)\n}\n\nfunction updateInnerHTML (dom: TaroElement, newValue: DangerouslySetInnerHTML, oldValue: DangerouslySetInnerHTML) {\n const newHtml = newValue?.__html ?? ''\n const oldHtml = oldValue?.__html ?? ''\n if (newHtml || oldHtml) {\n if (newHtml !== oldHtml) {\n dom.innerHTML = newHtml\n }\n }\n}\n\nfunction updateAttribute (dom: TaroElement, name: string, value: any) {\n if (value == null) {\n dom.removeAttribute(name)\n } else {\n // 处理对象类型的style样式\n if (name === 'style' && isObject<Record<string, any>>(value)) {\n value = Object.keys(value).reduce((acc: string[], key) => {\n acc.push(`${key}: ${value[key]}`)\n return acc\n }, []).join(';')\n }\n dom.setAttribute(name, value)\n }\n}\n","import { document, TaroElement, TaroNode, TaroText } from '@tarojs/runtime'\nimport { createRenderer } from 'solid-js/universal'\nimport { createComponent as _createComponent, insert as _insert, render as _render } from 'solid-js/web/dist/web'\n\nimport { setProperty } from './props'\n\nconst ref = createRenderer<TaroNode>({\n createElement (type: string) {\n return document.createElement(type)\n },\n createTextNode (text) {\n return document.createTextNode(text)\n },\n replaceText (textNode: TaroText, value) {\n textNode.textContent = value\n },\n setProperty (node: TaroElement, name: string, value, prev) {\n setProperty(node, name, value, prev)\n },\n insertNode (parent, node, anchor) {\n parent.insertBefore(node, anchor)\n },\n isTextNode (node: TaroNode) {\n if (typeof node === 'string') {\n return true\n }\n return node instanceof TaroText\n },\n removeNode (parent: TaroElement, node: TaroElement) {\n parent.removeChild(node)\n },\n getParentNode (node: TaroNode) {\n return node.parentNode || undefined\n },\n getFirstChild (node: TaroElement) {\n return node.firstChild || undefined\n },\n getNextSibling (node: TaroElement) {\n return node.nextSibling || undefined\n },\n})\n\nexport const render = process.env.TARO_PLATFORM === 'web' ? _render : ref.render\nexport const effect = ref.effect\nexport const memo = ref.memo\nexport const createElement = ref.createElement\nexport const createComponent = process.env.TARO_PLATFORM === 'web' ? _createComponent : ref.createComponent\nexport const createTextNode = ref.createTextNode\nexport const insertNode = ref.insertNode\nexport const insert = process.env.TARO_PLATFORM === 'web' ? _insert : ref.insert\nexport const spread = ref.spread\nexport const setProp = ref.setProp\nexport const mergeProps = ref.mergeProps\nexport const use = ref.use\n\nexport function Fragment (props) {\n return props.children\n}\n","import {\n $DEVCOMP,\n ComponentProps,\n createEffect,\n createMemo,\n getOwner,\n JSX,\n onCleanup,\n runWithOwner,\n sharedConfig,\n splitProps,\n untrack,\n ValidComponent\n} from 'solid-js'\n\nimport { createElement, insert, spread } from './render'\n\nexport * from './render'\n\nexport function Portal<T extends boolean = false, S extends boolean = false> (props: {\n mount?: Node\n ref?:\n | (S extends true ? SVGGElement : HTMLDivElement)\n | ((\n el: (T extends true ? { readonly shadowRoot: ShadowRoot } : object) & (S extends true ? SVGGElement : HTMLDivElement)\n ) => void)\n children: JSX.Element\n}) {\n const marker = document.createTextNode('')\n const mount = () => props.mount || document.body\n const owner = getOwner()\n let content: undefined | (() => JSX.Element)\n let hydrating = !!sharedConfig.context\n\n createEffect(\n () => {\n // basically we backdoor into a sort of renderEffect here\n if (hydrating) (getOwner() as any).user = hydrating = false\n content || (content = runWithOwner(owner, () => createMemo(() => props.children)))\n const el = mount()\n const container: any = createElement('view')\n const renderRoot = container\n\n Object.defineProperty(container, '_$host', {\n get () {\n return marker.parentNode\n },\n configurable: true\n })\n insert(renderRoot, content)\n el.appendChild(container)\n props.ref && (props as any).ref(container)\n onCleanup(() => el.removeChild(container))\n },\n undefined,\n { render: !hydrating }\n )\n return marker\n}\n\nexport type DynamicProps<T extends ValidComponent, P = ComponentProps<T>> = {\n [K in keyof P]: P[K];\n} & {\n component: T | undefined\n};\n\nexport function Dynamic<T extends ValidComponent> (props: DynamicProps<T>): JSX.Element {\n const [p, others] = splitProps(props, ['component'])\n const cached = createMemo(() => p.component)\n return createMemo(() => {\n const component = cached()\n switch (typeof component) {\n case 'function':\n // eslint-disable-next-line no-constant-condition\n if ('_DX_DEV_') Object.assign(component, { [$DEVCOMP]: true })\n return untrack(() => component(others))\n\n case 'string':\n // eslint-disable-next-line no-case-declarations\n const el = createElement(component)\n spread(el, others, false)\n return el\n\n default:\n break\n }\n }) as unknown as JSX.Element\n}\n"],"names":["document","_render","_createComponent","_insert"],"mappings":"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"}
@@ -0,0 +1,327 @@
1
+ import { isFunction, isArray, hooks } from '@tarojs/shared';
2
+ import { Current, getPageInstance, injectPageInstance, perf, PAGE_INIT, document, HOOKS_APP_ID as HOOKS_APP_ID$1 } from '@tarojs/runtime';
3
+ import { createContext, createMemo, useContext, createRenderEffect, onCleanup, batch, createSignal, For } from 'solid-js';
4
+ import { render, createComponent, createElement, setProp, insert } from '@tarojs/plugin-framework-solid/dist/reconciler';
5
+
6
+ const PageContext = createContext();
7
+
8
+ const HOOKS_APP_ID = 'taro-app';
9
+ const createTaroHook = (lifecycle) => {
10
+ return (fn) => {
11
+ const context = useContext(PageContext);
12
+ const id = context || HOOKS_APP_ID;
13
+ createRenderEffect(() => {
14
+ let inst = getPageInstance(id);
15
+ let first = false;
16
+ if (!inst) {
17
+ first = true;
18
+ inst = Object.create({
19
+ id: id,
20
+ type: 'page',
21
+ });
22
+ }
23
+ if (isFunction(inst[lifecycle])) {
24
+ inst[lifecycle] = [inst === null || inst === void 0 ? void 0 : inst[lifecycle], fn];
25
+ }
26
+ else {
27
+ inst[lifecycle] = [...(inst[lifecycle] || []), fn];
28
+ }
29
+ if (first) {
30
+ injectPageInstance(inst, id);
31
+ }
32
+ onCleanup(() => {
33
+ const list = inst[lifecycle];
34
+ if (list === fn) {
35
+ inst[lifecycle] = undefined;
36
+ }
37
+ else if (isArray(list)) {
38
+ inst[lifecycle] = list.filter((item) => item !== fn);
39
+ }
40
+ });
41
+ });
42
+ };
43
+ };
44
+ /** LifeCycle */
45
+ const useDidHide = createTaroHook('onHide');
46
+ const useDidShow = createTaroHook('onShow');
47
+ /** App */
48
+ const useError = createTaroHook('onError');
49
+ const useUnhandledRejection = createTaroHook('onUnhandledRejection');
50
+ const useLaunch = createTaroHook('onLaunch');
51
+ const usePageNotFound = createTaroHook('onPageNotFound');
52
+ /** Page */
53
+ const useLoad = createTaroHook('onLoad');
54
+ const usePageScroll = createTaroHook('onPageScroll');
55
+ const usePullDownRefresh = createTaroHook('onPullDownRefresh');
56
+ const usePullIntercept = createTaroHook('onPullIntercept');
57
+ const useReachBottom = createTaroHook('onReachBottom');
58
+ const useResize = createTaroHook('onResize');
59
+ const useUnload = createTaroHook('onUnload');
60
+ /** Mini-Program */
61
+ const useAddToFavorites = createTaroHook('onAddToFavorites');
62
+ const useOptionMenuClick = createTaroHook('onOptionMenuClick');
63
+ const useSaveExitState = createTaroHook('onSaveExitState');
64
+ const useShareAppMessage = createTaroHook('onShareAppMessage');
65
+ const useShareTimeline = createTaroHook('onShareTimeline');
66
+ const useTitleClick = createTaroHook('onTitleClick');
67
+ /** Router */
68
+ const useReady = createTaroHook('onReady');
69
+ const useRouter = (dynamic = false) => {
70
+ return dynamic ? Current.router : createMemo(() => Current.router);
71
+ };
72
+ const useTabItemTap = createTaroHook('onTabItemTap');
73
+ const useScope = () => undefined;
74
+
75
+ var taroHooks = /*#__PURE__*/Object.freeze({
76
+ __proto__: null,
77
+ useAddToFavorites: useAddToFavorites,
78
+ useDidHide: useDidHide,
79
+ useDidShow: useDidShow,
80
+ useError: useError,
81
+ useLaunch: useLaunch,
82
+ useLoad: useLoad,
83
+ useOptionMenuClick: useOptionMenuClick,
84
+ usePageNotFound: usePageNotFound,
85
+ usePageScroll: usePageScroll,
86
+ usePullDownRefresh: usePullDownRefresh,
87
+ usePullIntercept: usePullIntercept,
88
+ useReachBottom: useReachBottom,
89
+ useReady: useReady,
90
+ useResize: useResize,
91
+ useRouter: useRouter,
92
+ useSaveExitState: useSaveExitState,
93
+ useScope: useScope,
94
+ useShareAppMessage: useShareAppMessage,
95
+ useShareTimeline: useShareTimeline,
96
+ useTabItemTap: useTabItemTap,
97
+ useTitleClick: useTitleClick,
98
+ useUnhandledRejection: useUnhandledRejection,
99
+ useUnload: useUnload
100
+ });
101
+
102
+ function ensureIsArray(item) {
103
+ if (isArray(item)) {
104
+ return item;
105
+ }
106
+ else {
107
+ return item ? [item] : [];
108
+ }
109
+ }
110
+ /**
111
+ * set writable, enumerable to true
112
+ */
113
+ function setDefaultDescriptor(obj) {
114
+ obj.writable = true;
115
+ obj.enumerable = true;
116
+ return obj;
117
+ }
118
+ /**
119
+ * 设置入口的路由参数
120
+ * @param options 小程序传入的参数
121
+ */
122
+ function setRouterParams(options) {
123
+ Current.router = Object.assign({ params: options === null || options === void 0 ? void 0 : options.query }, options);
124
+ }
125
+
126
+ /** @TODO createElement setProp 在solid-js/web中导出不报错 */
127
+ function setReconciler() {
128
+ hooks.tap('getLifecycle', function (instance, lifecycle) {
129
+ lifecycle = lifecycle.replace(/^on(Show|Hide)$/, 'componentDid$1');
130
+ return instance[lifecycle];
131
+ });
132
+ hooks.tap('modifyMpEvent', function (event) {
133
+ // Note: ohos 上事件没有设置 type 类型 setter 方法导致报错
134
+ Object.defineProperty(event, 'type', {
135
+ value: event.type.replace(/-/g, '')
136
+ });
137
+ });
138
+ hooks.tap('batchedEventUpdates', function (cb) {
139
+ batch(cb);
140
+ });
141
+ hooks.tap('mergePageInstance', function (prev, next) {
142
+ if (!prev || !next)
143
+ return;
144
+ // 子组件使用 lifecycle hooks 注册了生命周期后,会存在 prev,里面是注册的生命周期回调。
145
+ // prev 使用 Object.create(null) 创建,H5 的 fast-refresh 可能也会导致存在 prev,要排除这些意外产生的 prev
146
+ if ('constructor' in prev)
147
+ return;
148
+ Object.keys(prev).forEach(item => {
149
+ const prevList = prev[item];
150
+ const nextList = ensureIsArray(next[item]);
151
+ next[item] = nextList.concat(prevList);
152
+ });
153
+ });
154
+ // TODO 使用 solid 时,暂不支持以下事件 createPullDownComponent
155
+ }
156
+ /**
157
+ * 桥接小程序 App 构造器和 React 渲染流程
158
+ * @param App 用户编写的入口组件
159
+ * @param react 框架
160
+ * @param dom 框架渲染器
161
+ * @param config 入口组件配置 app.config.js 的内容
162
+ * @returns 传递给 App 构造器的对象 obj :App(obj)
163
+ */
164
+ function createSolidApp(App, config) {
165
+ setReconciler();
166
+ const appRef = {
167
+ mount: () => { },
168
+ unmount: () => { }
169
+ };
170
+ function getAppInstance() {
171
+ return appRef;
172
+ }
173
+ const AppWrapper = () => {
174
+ const [pages, setPages] = createSignal([]);
175
+ appRef.mount = (component, id) => {
176
+ setPages((old) => {
177
+ return [...old, { id, component }];
178
+ });
179
+ };
180
+ appRef.unmount = (id) => {
181
+ setPages(pages().filter((item) => {
182
+ return item.id !== id;
183
+ }));
184
+ };
185
+ return createComponent(App, {
186
+ ref: appRef,
187
+ children: createComponent(For, {
188
+ get each() {
189
+ return pages();
190
+ },
191
+ children: ({ id, component }) => {
192
+ const children = () => {
193
+ return createComponent(PageContext.Provider, {
194
+ value: id,
195
+ children: () => {
196
+ injectPageInstance({ id: id, type: 'page' }, id);
197
+ return createComponent(component, {
198
+ tid: id,
199
+ });
200
+ },
201
+ });
202
+ };
203
+ const root = process.env.TARO_PLATFORM === 'web' ? document.createElement('div') : createElement('root');
204
+ if (process.env.TARO_PLATFORM === 'web') {
205
+ root.setAttribute('id', id);
206
+ root.classList.add('taro_page');
207
+ }
208
+ else {
209
+ setProp(root, 'id', id);
210
+ }
211
+ insert(root, children);
212
+ return root;
213
+ },
214
+ }),
215
+ });
216
+ };
217
+ function renderSolidRoot() {
218
+ let appId = 'app';
219
+ if (process.env.TARO_PLATFORM === 'web') {
220
+ appId = (config === null || config === void 0 ? void 0 : config.appId) || appId;
221
+ }
222
+ const container = document.getElementById(appId);
223
+ render(AppWrapper, container);
224
+ }
225
+ if (process.env.TARO_PLATFORM !== 'web') {
226
+ renderSolidRoot();
227
+ }
228
+ const [ONLAUNCH, ONSHOW, ONHIDE] = hooks.call('getMiniLifecycleImpl').app;
229
+ const appObj = Object.create({
230
+ mount(component, id, cb) {
231
+ const appInstance = getAppInstance();
232
+ appInstance === null || appInstance === void 0 ? void 0 : appInstance.mount(component, id);
233
+ batch((...args) => {
234
+ perf.stop(PAGE_INIT);
235
+ return cb(...args);
236
+ });
237
+ },
238
+ unmount(id, cb) {
239
+ const appInstance = getAppInstance();
240
+ appInstance === null || appInstance === void 0 ? void 0 : appInstance.unmount(id);
241
+ batch(cb);
242
+ },
243
+ }, {
244
+ config: setDefaultDescriptor({
245
+ configurable: true,
246
+ value: config,
247
+ }),
248
+ [ONLAUNCH]: setDefaultDescriptor({
249
+ value(options) {
250
+ setRouterParams(options);
251
+ if (process.env.TARO_PLATFORM === 'web') {
252
+ renderSolidRoot();
253
+ }
254
+ const onLaunch = () => {
255
+ var _a;
256
+ const app = getAppInstance();
257
+ if (app) {
258
+ // 把 App Class 上挂载的额外属性同步到全局 app 对象中
259
+ if (app.taroGlobalData) {
260
+ const globalData = app.taroGlobalData;
261
+ const keys = Object.keys(globalData);
262
+ const descriptors = Object.getOwnPropertyDescriptors(globalData);
263
+ keys.forEach(key => {
264
+ Object.defineProperty(this, key, {
265
+ configurable: true,
266
+ enumerable: true,
267
+ get() {
268
+ return globalData[key];
269
+ },
270
+ set(value) {
271
+ globalData[key] = value;
272
+ }
273
+ });
274
+ });
275
+ Object.defineProperties(this, descriptors);
276
+ }
277
+ (_a = app.onCreate) === null || _a === void 0 ? void 0 : _a.call(app);
278
+ }
279
+ };
280
+ onLaunch();
281
+ triggerAppHook('onLaunch', options);
282
+ },
283
+ }),
284
+ [ONSHOW]: setDefaultDescriptor({
285
+ value(options) {
286
+ setRouterParams(options);
287
+ triggerAppHook('onShow', options);
288
+ },
289
+ }),
290
+ [ONHIDE]: setDefaultDescriptor({
291
+ value() {
292
+ triggerAppHook('onHide');
293
+ },
294
+ }),
295
+ onError: setDefaultDescriptor({
296
+ value(error) {
297
+ triggerAppHook('onError', error);
298
+ },
299
+ }),
300
+ onPageNotFound: setDefaultDescriptor({
301
+ value(res) {
302
+ triggerAppHook('onPageNotFound', res);
303
+ },
304
+ }),
305
+ });
306
+ function triggerAppHook(lifecycle, ...option) {
307
+ const instance = getPageInstance(HOOKS_APP_ID$1);
308
+ if (instance) {
309
+ const app = getAppInstance();
310
+ const func = hooks.call('getLifecycle', instance, lifecycle);
311
+ if (Array.isArray(func)) {
312
+ func.forEach((cb) => cb.apply(app, option));
313
+ }
314
+ }
315
+ }
316
+ Current.app = appObj;
317
+ return appObj;
318
+ }
319
+
320
+ hooks.tap('initNativeApi', function (taro) {
321
+ for (const hook in taroHooks) {
322
+ taro[hook] = taroHooks[hook];
323
+ }
324
+ });
325
+
326
+ export { PageContext, createSolidApp, setReconciler, useAddToFavorites, useDidHide, useDidShow, useError, useLaunch, useLoad, useOptionMenuClick, usePageNotFound, usePageScroll, usePullDownRefresh, usePullIntercept, useReachBottom, useReady, useResize, useRouter, useSaveExitState, useScope, useShareAppMessage, useShareTimeline, useTabItemTap, useTitleClick, useUnhandledRejection, useUnload };
327
+ //# sourceMappingURL=runtime.js.map