Skip to content

Commit f2147a5

Browse files
committed
chore: add dom-external
1 parent 5778d42 commit f2147a5

File tree

9 files changed

+65
-55
lines changed

9 files changed

+65
-55
lines changed

packages/taro-platform-harmony-cpp/src/runtime/runtime-cpp/index.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,28 +22,28 @@ export function initStyleSheetConfig (layout: { width: number, height: number} =
2222
designRatio: logicWidth / (designWidth * deviceRatio),
2323
// vp -> px比例,逻辑像素和物理像素的比值
2424
densityPixels: display.densityPixels,
25-
// 屏幕宽度:单位vp
25+
// 屏幕宽度:单位 vp
2626
deviceWidth: display.width / display.densityPixels,
27-
// 屏幕高度:单位vp
27+
// 屏幕高度:单位 vp
2828
deviceHeight: display.height / display.densityPixels,
29-
// 窗口宽度:单位vp
29+
// 窗口宽度:单位 vp
3030
viewportWidth: layout.width || (display.width / display.densityPixels),
31-
// 窗口高度:单位vp
31+
// 窗口高度:单位 vp
3232
viewportHeight: (layout.height || (display.height / display.densityPixels)) - navHeight,
33-
// 安全区域:单位vp
33+
// 安全区域:单位 vp
3434
safeArea: systemContext.safeArea,
35-
// 显示设备的显示字体的缩放因子。该参数为浮点数,通常与densityPixels相同
35+
// 显示设备的显示字体的缩放因子。该参数为浮点数,通常与 densityPixels 相同
3636
scaledDensity: display.scaledDensity,
3737
// 表示屏幕当前显示的方向
3838
orientation: display.orientation,
39-
// 显示设备屏幕的物理像素密度,表示每英寸上的像素点数。该参数为浮点数,单位为px,支持的范围为[80.0,640.0]。一般取值160.0、480.0等,实际能取到的值取决于不同设备设置里提供的可选值
39+
// 显示设备屏幕的物理像素密度,表示每英寸上的像素点数。该参数为浮点数,单位为 px,支持的范围为 [80.0,640.0]。一般取值 160.0、480.0 等,实际能取到的值取决于不同设备设置里提供的可选值
4040
densityDPI: display.densityDPI
4141
}
4242
}
4343

4444
export { systemContext, systemPromise, TaroWindowUtil }
4545

46-
// Current必须放在前面初始化
46+
// Current 必须放在前面初始化
4747
export * from './current'
4848
export { hooks } from '@tarojs/shared'
4949
// bom
@@ -76,4 +76,4 @@ export {
7676
ReactPageComponent, ReactPageInstance, ReactAppInstance,
7777
PageLifeCycle, PageInstance,
7878
AppInstance,
79-
} from '@tarojs/runtime/dist/runtime.esm'
79+
} from '@tarojs/runtime'

packages/taro-runtime/jest.config.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1-
const path = require('path')
1+
import path from 'node:path'
2+
import { fileURLToPath } from 'node:url'
23

3-
module.exports = {
4+
const __dirname = path.dirname(fileURLToPath(import.meta.url))
5+
6+
export default {
47
globals: {
58
ENABLE_INNER_HTML: true,
69
ENABLE_ADJACENT_HTML: true,

packages/taro-runtime/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
"files": [
1313
"dist"
1414
],
15+
"sideEffects": [
16+
"./dist/dom-external/index.js"
17+
],
1518
"scripts": {
1619
"prod": "tsdown",
1720
"dev": "tsdown -w",

packages/taro-runtime/src/__tests__/class.spec.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1+
import { document as Document, navigator, window } from '../../dist/index'
2+
13
describe('Class', () => {
2-
const runtime = require('../../dist/index')
3-
const document = runtime.document
4-
global.document = runtime.document
5-
global.window = runtime.window
6-
global.navigator = runtime.navigator
4+
const document = Document
5+
global.document = Document
6+
global.window = window
7+
global.navigator = navigator
78

89
describe('attribute', () => {
910
it('setAttribute: class', () => {

packages/taro-runtime/src/__tests__/dom.spec.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1+
import ReactDOM from '@tarojs/react'
2+
import React from 'react'
3+
4+
import { document as Document, navigator, window } from '../../dist/index'
5+
16
describe('DOM', () => {
27
process.env.FRAMEWORK = 'nerv'
3-
const runtime = require('../../dist/index')
4-
const document = runtime.document
5-
global.document = runtime.document
6-
global.window = runtime.window
7-
global.navigator = runtime.navigator
8-
// eslint-disable-next-line no-use-before-define
9-
const React = require('react')
10-
const ReactDOM = require('@tarojs/react')
8+
const document = Document
9+
global.document = Document
10+
global.window = window
11+
global.navigator = navigator
1112

1213
afterAll(() => {
1314
process.env.FRAMEWORK = ''

packages/taro-runtime/src/__tests__/event.spec.js

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
import { createEvent, document as Document } from '../../dist/index'
2+
13
describe('event', () => {
2-
const runtime = require('../../dist/index')
3-
const document = runtime.document
4+
const document = Document
45

56
afterAll(() => {
67
process.env.FRAMEWORK = ''
@@ -10,7 +11,7 @@ describe('event', () => {
1011
const div = document.createElement('div')
1112
const spy = jest.fn()
1213
div.addEventListener('tap', spy)
13-
const event = runtime.createEvent({ type: 'tap' }, div)
14+
const event = createEvent({ type: 'tap' }, div)
1415
// mini program event system will do this for us
1516
div.dispatchEvent(event)
1617
})
@@ -19,7 +20,7 @@ describe('event', () => {
1920
const div = document.createElement('div')
2021
const spy = jest.fn()
2122
div.addEventListener('tap', spy, { once: true })
22-
const event = runtime.createEvent({ type: 'tap' }, div)
23+
const event = createEvent({ type: 'tap' }, div)
2324
div.dispatchEvent(event)
2425
div.dispatchEvent(event)
2526
expect(spy).toBeCalledTimes(1)
@@ -29,7 +30,7 @@ describe('event', () => {
2930
const div = document.createElement('div')
3031
const spy = jest.fn()
3132
div.addEventListener('tap', spy)
32-
const event = runtime.createEvent({ type: 'tap' }, div)
33+
const event = createEvent({ type: 'tap' }, div)
3334
div.dispatchEvent(event)
3435
div.dispatchEvent(event)
3536
expect(spy).toBeCalledTimes(2)
@@ -41,7 +42,7 @@ describe('event', () => {
4142
const spy2 = jest.fn()
4243
div.addEventListener('tap', spy)
4344
div.addEventListener('tap', spy2)
44-
const event = runtime.createEvent({ type: 'tap' }, div)
45+
const event = createEvent({ type: 'tap' }, div)
4546
div.dispatchEvent(event)
4647
expect(spy).toBeCalledTimes(1)
4748
expect(spy2).toBeCalledTimes(1)
@@ -53,7 +54,7 @@ describe('event', () => {
5354
const spy2 = jest.fn()
5455
div.addEventListener('tap', spy)
5556
div.addEventListener('tap', spy2)
56-
const event = runtime.createEvent({ type: 'tap' }, div)
57+
const event = createEvent({ type: 'tap' }, div)
5758
div.dispatchEvent(event)
5859
expect(spy).toBeCalledTimes(1)
5960
expect(spy2).toBeCalledTimes(1)
@@ -69,7 +70,7 @@ describe('event', () => {
6970
const spy2 = jest.fn()
7071
div.addEventListener('Tap', spy)
7172
div.addEventListener('TAP', spy2)
72-
const event = runtime.createEvent({ type: 'tap' }, div)
73+
const event = createEvent({ type: 'tap' }, div)
7374
div.dispatchEvent(event)
7475
expect(spy).toBeCalledTimes(1)
7576
expect(spy2).toBeCalledTimes(1)
@@ -97,7 +98,7 @@ describe('event', () => {
9798
divSpy()
9899
e.stopPropagation()
99100
})
100-
const event = runtime.createEvent({ type: 'tap' }, div)
101+
const event = createEvent({ type: 'tap' }, div)
101102
div.dispatchEvent(event)
102103
container.dispatchEvent(event) // buble event
103104
expect(divSpy).toBeCalledTimes(1)
@@ -113,7 +114,7 @@ describe('event', () => {
113114
const divSpy = jest.fn()
114115
container.addEventListener(eventName, containerSpy)
115116
div.addEventListener(eventName, divSpy)
116-
const event = runtime.createEvent({ type: eventName }, div)
117+
const event = createEvent({ type: eventName }, div)
117118
div.dispatchEvent(event)
118119
container.dispatchEvent(event) // buble event
119120
expect(divSpy).toBeCalledTimes(1)
@@ -131,7 +132,7 @@ describe('event', () => {
131132
divSpy()
132133
e.preventDefault()
133134
})
134-
const event = runtime.createEvent({ type: 'tap' }, div)
135+
const event = createEvent({ type: 'tap' }, div)
135136
div.dispatchEvent(event)
136137
expect(divSpy).toBeCalledTimes(1)
137138
expect(event.defaultPrevented).toBe(true)
@@ -146,7 +147,7 @@ describe('event', () => {
146147
spy()
147148
e.stopImmediatePropagation()
148149
})
149-
const event = runtime.createEvent({ type: 'tap' }, div)
150+
const event = createEvent({ type: 'tap' }, div)
150151
div.dispatchEvent(event)
151152
expect(spy).toBeCalledTimes(1)
152153
expect(spy2).toBeCalledTimes(0)
@@ -161,7 +162,7 @@ describe('event', () => {
161162
spy()
162163
e.stopImmediatePropagation()
163164
})
164-
const event = runtime.createEvent({ type: 'Tap' }, div)
165+
const event = createEvent({ type: 'Tap' }, div)
165166
div.dispatchEvent(event)
166167
expect(spy).toBeCalledTimes(1)
167168
expect(spy2).toBeCalledTimes(0)
@@ -173,7 +174,7 @@ describe('event', () => {
173174
container.appendChild(div)
174175
const containerSpy = jest.fn()
175176
const divSpy = jest.fn()
176-
const event = runtime.createEvent({ type: 'tap' }, div)
177+
const event = createEvent({ type: 'tap' }, div)
177178
div.dispatchEvent(event)
178179
container.dispatchEvent(event) // buble event
179180
expect(divSpy).toBeCalledTimes(0)

packages/taro-runtime/src/__tests__/eventSource.spec.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1+
import { document as Document, eventSource as EventSource } from '../../dist/index'
2+
13
describe('eventSource', () => {
24
process.env.FRAMEWORK = 'react'
3-
const runtime = require('../../dist/index')
4-
const eventSource = runtime.eventSource
5-
global.document = runtime.document
5+
const eventSource = EventSource
6+
global.document = Document
67

78
beforeEach(() => {
89
eventSource.clear()
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
describe('style', () => {
2-
const runtime = require('../../dist/index')
1+
import { createComponentConfig, createEvent, createPageConfig, document, navigator, TaroElement, TaroEvent, TaroNode, TaroText, window as Window } from '../../dist/index'
32

3+
describe('style', () => {
44
afterAll(() => {
55
process.env.FRAMEWORK = ''
66
})
77

88
it('bom', () => {
9-
const window = runtime.window
9+
const window = Window
1010
expect(window).not.toBeUndefined()
1111
expect(window.navigator).not.toBeUndefined()
1212
expect(window.document).not.toBeUndefined()
13-
expect(runtime.document).toBe(window.document)
14-
expect(runtime.navigator).toBe(window.navigator)
13+
expect(document).toBe(window.document)
14+
expect(navigator).toBe(window.navigator)
1515
})
1616

1717
it('dom', () => {
18-
expect(runtime.TaroElement).not.toBeUndefined()
19-
expect(runtime.TaroNode).not.toBeUndefined()
20-
expect(runtime.TaroText).not.toBeUndefined()
18+
expect(TaroElement).not.toBeUndefined()
19+
expect(TaroNode).not.toBeUndefined()
20+
expect(TaroText).not.toBeUndefined()
2121
})
2222

2323
it('event', () => {
24-
expect(runtime.createEvent).not.toBeUndefined()
25-
expect(runtime.TaroEvent).not.toBeUndefined()
24+
expect(createEvent).not.toBeUndefined()
25+
expect(TaroEvent).not.toBeUndefined()
2626
})
2727

2828
it('dsl', () => {
29-
expect(runtime.createComponentConfig).not.toBeUndefined()
30-
expect(runtime.createPageConfig).not.toBeUndefined()
29+
expect(createComponentConfig).not.toBeUndefined()
30+
expect(createPageConfig).not.toBeUndefined()
3131
})
3232
})
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { defineConfig } from 'tsdown'
22

33
export default defineConfig({
4-
entry: ['./src/index.ts'],
4+
entry: ['./src/index.ts', './src/dom-external/index.ts'],
55
sourcemap: true,
6-
})
6+
})

0 commit comments

Comments
 (0)