vite-plugin-taro-runtime 0.6.13 → 0.6.15-beta.0
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/README.md +2 -2
- package/dist/bom/document.js +8 -3
- package/dist/bom/document.js.map +1 -1
- package/dist/index.cjs.js +7 -2
- package/dist/index.cjs.js.map +1 -1
- package/dist/runtime.esm.js +7 -2
- package/dist/runtime.esm.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# vite-plugin-taro-runtime
|
|
2
2
|
|
|
3
|
-
> WX App-wrap build of `@tarojs/runtime@4.2.
|
|
3
|
+
> WX App-wrap build of `@tarojs/runtime@4.2.1` for `vite-plugin-taro`.
|
|
4
4
|
|
|
5
5
|
> **AI-assisted development is recommended:** Follow the [VPT AI development guide](https://vpt.js.org/guides/ai/) and let a coding assistant create, develop, test, and validate your app.
|
|
6
6
|
|
|
@@ -22,7 +22,7 @@ The WX renderer needs direct `page.*` paths and an opaque private Page outlet wh
|
|
|
22
22
|
## Generated source
|
|
23
23
|
|
|
24
24
|
- Generator: [`scripts/build-patched-taro-packages.ts`](../../scripts/build-patched-taro-packages.ts)
|
|
25
|
-
- Patch: [`patches/@tarojs__runtime@4.2.
|
|
25
|
+
- Patch: [`patches/@tarojs__runtime@4.2.1.patch`](../../patches/@tarojs__runtime@4.2.1.patch)
|
|
26
26
|
- Output package directory: [`packages/taro-runtime`](.)
|
|
27
27
|
|
|
28
28
|
Regenerate from the repository root:
|
package/dist/bom/document.js
CHANGED
|
@@ -27,7 +27,7 @@ function createDocument() {
|
|
|
27
27
|
* same React container and keeps the same id, but can now batch app.* updates through its own ctx just as each Page root
|
|
28
28
|
* batches page.* updates. Reusing the host itself removes the need for a detached scheduler node.
|
|
29
29
|
*
|
|
30
|
-
* Taro and the framework locate this container by id; the pinned 4.2.
|
|
30
|
+
* Taro and the framework locate this container by id; the pinned 4.2.1 runtime has no behavior branching on an APP
|
|
31
31
|
* nodeName or APP tagName. App snapshots hydrate the container's children rather than the container record itself, so
|
|
32
32
|
* ROOT is never emitted as a native layout node. The observable change is limited to unsupported code directly
|
|
33
33
|
* inspecting #app.nodeName/tagName or using this support fork with upstream templates. H5 loads the untouched
|
|
@@ -109,8 +109,13 @@ function createTTDomDocument() {
|
|
|
109
109
|
el.setAttribute = function (name, value) {
|
|
110
110
|
const result = originalSetAttribute(name, value);
|
|
111
111
|
// 处理 catchMove 属性
|
|
112
|
-
if (name === 'catchMove'
|
|
113
|
-
|
|
112
|
+
if (name === 'catchMove') {
|
|
113
|
+
if (value) {
|
|
114
|
+
el.addEventListener('catchtouchmove', emptyFunction);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
el.removeEventListener('catchtouchmove', emptyFunction);
|
|
118
|
+
}
|
|
114
119
|
}
|
|
115
120
|
return result;
|
|
116
121
|
};
|
package/dist/bom/document.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sources":["../../../src/bom/document.ts"],"sourcesContent":["import { DEFAULT_COMPONENTS, isEnableTTDom, TT_SPECIFIC_COMPONENTS } from '@tarojs/shared'\n\nimport {\n APP,\n BODY,\n CONTAINER,\n HEAD,\n HTML\n} from '../constants'\nimport { TaroDocument } from '../dom/document'\nimport env from '../env'\n\nfunction createDocument (): TaroDocument {\n /**\n * <document>\n * <html>\n * <head></head>\n * <body>\n * <container>\n * <app id=\"app\" />\n * </container>\n * </body>\n * </html>\n * </document>\n */\n const doc = new TaroDocument()\n const documentCreateElement = doc.createElement.bind(doc)\n const html = documentCreateElement(HTML)\n const head = documentCreateElement(HEAD)\n const body = documentCreateElement(BODY)\n const app = documentCreateElement(APP)\n app.id = APP\n const container = documentCreateElement(CONTAINER) // 多包一层主要为了兼容 vue\n\n doc.appendChild(html)\n html.appendChild(head)\n html.appendChild(body)\n body.appendChild(container)\n container.appendChild(app)\n\n doc.documentElement = html\n doc.head = head\n doc.body = body\n\n return doc\n}\n\ndeclare const tt: any\n\nexport function createTTDomDocument(): TaroDocument {\n const document = tt?.appDocument\n if (!document) {\n throw new Error('tt.appDocument is not found')\n }\n const html = document.createElement(HTML)\n const head = document.createElement(HEAD)\n const body = document.createElement(BODY)\n const app = document.createElement(APP)\n app.id = APP\n const container = document.createElement(CONTAINER)\n\n const emptyFunction = () => {}\n\n document.childNodes.push(html)\n html.childNodes.push(head, body)\n body.childNodes.push(container)\n container.childNodes.push(app)\n\n document.documentElement = html\n document.head = head\n document.body = body\n document.appElement = app\n\n let builtInComponents = tt?.getBuiltInComponents?.()\n if (Array.isArray(builtInComponents)) {\n builtInComponents = new Set(builtInComponents)\n } else if (!(builtInComponents instanceof Set)) {\n builtInComponents = new Set([...DEFAULT_COMPONENTS, ...TT_SPECIFIC_COMPONENTS])\n }\n\n document.getElementById = function getElementById(id: string) {\n if (id === 'app') {\n return app\n } else {\n return Object.getPrototypeOf(this).getElementById.call(this, id)\n }\n }\n\n document.getLastPage = function getLastPage() {\n let last\n for (const v of this._pageDocumentMap.values()) last = v\n return last\n }\n\n document.createElement = function (type: string, ...args) {\n if (type === 'root') {\n return this.getLastPage()\n } else {\n const el = builtInComponents.has(type)\n ? Object.getPrototypeOf(this).createElement.call(this, type, ...args)\n : Object.getPrototypeOf(this).createNativeComponent.call(this, type, {\n __tt__inner__options__: {\n name: type,\n },\n })\n // 给元素加上 scopeId\n el.setAttribute('class', '')\n\n // 保存原始的 setAttribute 和 removeAttribute\n const originalSetAttribute = el.setAttribute.bind(el)\n const originalRemoveAttribute = el.removeAttribute.bind(el)\n\n // 拦截 setAttribute 来处理 catchMove\n el.setAttribute = function (name: string, value: any) {\n const result = originalSetAttribute(name, value)\n\n // 处理 catchMove 属性\n if (name === 'catchMove' && value) {\n el.addEventListener('catchtouchmove', emptyFunction)\n }\n\n return result\n }\n\n // 拦截 removeAttribute 来处理 catchMove\n el.removeAttribute = function (name: string) {\n const oldValue = el.getAttribute(name)\n\n // 处理 catchMove 属性\n if (name === 'catchMove' && oldValue) {\n el.removeEventListener('catchtouchmove', emptyFunction)\n }\n\n return originalRemoveAttribute(name)\n }\n\n if (process.env.FRAMEWORK === 'preact') {\n const ttEventListener = el.addEventListener.bind(el)\n const ttRemoveEventListener = el.removeEventListener.bind(el)\n\n el.addEventListener = function (type: string, listener) {\n if (type === 'click') {\n type = 'tap'\n }\n\n const bindEventName = type.startsWith('bind') || type.startsWith('catch') ? type : `bind${type}`\n // 创建包装函数\n const wrapper = (event) => {\n const type = event.type\n // 对齐 modifyMpEvent 处理逻辑\n if (type === 'tap') {\n event.type = 'click'\n } else if (type === 'focus') {\n event.type = 'focusin'\n } else if (type === 'blur') {\n event.type = 'focusout'\n }\n Object.assign(event, {\n mpEvent: event,\n bubbles: true,\n cancelable: true,\n })\n listener.call(el, event)\n }\n\n // 保存包装函数的引用,用于后续移除\n if (!el.__eventWrappers) {\n el.__eventWrappers = new WeakMap()\n }\n el.__eventWrappers.set(listener, wrapper)\n\n ttEventListener(bindEventName, wrapper)\n }\n\n el.removeEventListener = function (type: string, listener) {\n if (type === 'click') {\n type = 'tap'\n }\n\n const bindEventName = type.startsWith('bind') || type.startsWith('catch') ? type : `bind${type}`\n // 获取之前保存的包装函数\n const wrapper = el.__eventWrappers?.get(listener)\n if (wrapper) {\n ttRemoveEventListener(bindEventName, wrapper)\n delete el.__eventWrappers[listener]\n }\n }\n }\n\n return el\n }\n }\n return document\n}\n\n// Note: 小程序端 vite 打包成 commonjs,const document = xxx 会报错,所以把 document 改为 taroDocumentProvider\nexport const taroDocumentProvider: TaroDocument = process.env.TARO_PLATFORM === 'web' ? env.document : (env.document =\n isEnableTTDom() ? createTTDomDocument() : createDocument())\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"document.js","sources":["../../../src/bom/document.ts"],"sourcesContent":["import { DEFAULT_COMPONENTS, isEnableTTDom, TT_SPECIFIC_COMPONENTS } from '@tarojs/shared'\n\nimport {\n APP,\n BODY,\n CONTAINER,\n HEAD,\n HTML\n} from '../constants'\nimport { TaroDocument } from '../dom/document'\nimport env from '../env'\n\nfunction createDocument (): TaroDocument {\n /**\n * <document>\n * <html>\n * <head></head>\n * <body>\n * <container>\n * <app id=\"app\" />\n * </container>\n * </body>\n * </html>\n * </document>\n */\n const doc = new TaroDocument()\n const documentCreateElement = doc.createElement.bind(doc)\n const html = documentCreateElement(HTML)\n const head = documentCreateElement(HEAD)\n const body = documentCreateElement(BODY)\n const app = documentCreateElement(APP)\n app.id = APP\n const container = documentCreateElement(CONTAINER) // 多包一层主要为了兼容 vue\n\n doc.appendChild(html)\n html.appendChild(head)\n html.appendChild(body)\n body.appendChild(container)\n container.appendChild(app)\n\n doc.documentElement = html\n doc.head = head\n doc.body = body\n\n return doc\n}\n\ndeclare const tt: any\n\nexport function createTTDomDocument(): TaroDocument {\n const document = tt?.appDocument\n if (!document) {\n throw new Error('tt.appDocument is not found')\n }\n const html = document.createElement(HTML)\n const head = document.createElement(HEAD)\n const body = document.createElement(BODY)\n const app = document.createElement(APP)\n app.id = APP\n const container = document.createElement(CONTAINER)\n\n const emptyFunction = () => {}\n\n document.childNodes.push(html)\n html.childNodes.push(head, body)\n body.childNodes.push(container)\n container.childNodes.push(app)\n\n document.documentElement = html\n document.head = head\n document.body = body\n document.appElement = app\n\n let builtInComponents = tt?.getBuiltInComponents?.()\n if (Array.isArray(builtInComponents)) {\n builtInComponents = new Set(builtInComponents)\n } else if (!(builtInComponents instanceof Set)) {\n builtInComponents = new Set([...DEFAULT_COMPONENTS, ...TT_SPECIFIC_COMPONENTS])\n }\n\n document.getElementById = function getElementById(id: string) {\n if (id === 'app') {\n return app\n } else {\n return Object.getPrototypeOf(this).getElementById.call(this, id)\n }\n }\n\n document.getLastPage = function getLastPage() {\n let last\n for (const v of this._pageDocumentMap.values()) last = v\n return last\n }\n\n document.createElement = function (type: string, ...args) {\n if (type === 'root') {\n return this.getLastPage()\n } else {\n const el = builtInComponents.has(type)\n ? Object.getPrototypeOf(this).createElement.call(this, type, ...args)\n : Object.getPrototypeOf(this).createNativeComponent.call(this, type, {\n __tt__inner__options__: {\n name: type,\n },\n })\n // 给元素加上 scopeId\n el.setAttribute('class', '')\n\n // 保存原始的 setAttribute 和 removeAttribute\n const originalSetAttribute = el.setAttribute.bind(el)\n const originalRemoveAttribute = el.removeAttribute.bind(el)\n\n // 拦截 setAttribute 来处理 catchMove\n el.setAttribute = function (name: string, value: any) {\n const result = originalSetAttribute(name, value)\n\n // 处理 catchMove 属性\n if (name === 'catchMove') {\n if (value) {\n el.addEventListener('catchtouchmove', emptyFunction)\n } else {\n el.removeEventListener('catchtouchmove', emptyFunction)\n }\n }\n\n return result\n }\n\n // 拦截 removeAttribute 来处理 catchMove\n el.removeAttribute = function (name: string) {\n const oldValue = el.getAttribute(name)\n\n // 处理 catchMove 属性\n if (name === 'catchMove' && oldValue) {\n el.removeEventListener('catchtouchmove', emptyFunction)\n }\n\n return originalRemoveAttribute(name)\n }\n\n if (process.env.FRAMEWORK === 'preact') {\n const ttEventListener = el.addEventListener.bind(el)\n const ttRemoveEventListener = el.removeEventListener.bind(el)\n\n el.addEventListener = function (type: string, listener) {\n if (type === 'click') {\n type = 'tap'\n }\n\n const bindEventName = type.startsWith('bind') || type.startsWith('catch') ? type : `bind${type}`\n // 创建包装函数\n const wrapper = (event) => {\n const type = event.type\n // 对齐 modifyMpEvent 处理逻辑\n if (type === 'tap') {\n event.type = 'click'\n } else if (type === 'focus') {\n event.type = 'focusin'\n } else if (type === 'blur') {\n event.type = 'focusout'\n }\n Object.assign(event, {\n mpEvent: event,\n bubbles: true,\n cancelable: true,\n })\n listener.call(el, event)\n }\n\n // 保存包装函数的引用,用于后续移除\n if (!el.__eventWrappers) {\n el.__eventWrappers = new WeakMap()\n }\n el.__eventWrappers.set(listener, wrapper)\n\n ttEventListener(bindEventName, wrapper)\n }\n\n el.removeEventListener = function (type: string, listener) {\n if (type === 'click') {\n type = 'tap'\n }\n\n const bindEventName = type.startsWith('bind') || type.startsWith('catch') ? type : `bind${type}`\n // 获取之前保存的包装函数\n const wrapper = el.__eventWrappers?.get(listener)\n if (wrapper) {\n ttRemoveEventListener(bindEventName, wrapper)\n delete el.__eventWrappers[listener]\n }\n }\n }\n\n return el\n }\n }\n return document\n}\n\n// Note: 小程序端 vite 打包成 commonjs,const document = xxx 会报错,所以把 document 改为 taroDocumentProvider\nexport const taroDocumentProvider: TaroDocument = process.env.TARO_PLATFORM === 'web' ? env.document : (env.document =\n isEnableTTDom() ? createTTDomDocument() : createDocument())\n"],"names":[],"mappings":"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"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -4024,8 +4024,13 @@ function createTTDomDocument() {
|
|
|
4024
4024
|
el.setAttribute = function (name, value) {
|
|
4025
4025
|
const result = originalSetAttribute(name, value);
|
|
4026
4026
|
// 处理 catchMove 属性
|
|
4027
|
-
if (name === 'catchMove'
|
|
4028
|
-
|
|
4027
|
+
if (name === 'catchMove') {
|
|
4028
|
+
if (value) {
|
|
4029
|
+
el.addEventListener('catchtouchmove', emptyFunction);
|
|
4030
|
+
}
|
|
4031
|
+
else {
|
|
4032
|
+
el.removeEventListener('catchtouchmove', emptyFunction);
|
|
4033
|
+
}
|
|
4029
4034
|
}
|
|
4030
4035
|
return result;
|
|
4031
4036
|
};
|