@octane-xplat/nativescript-mason-core 0.0.1 → 1.0.0-beta.1
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/LICENSE +201 -0
- package/README.md +198 -2
- package/artifact-inventory.json +774 -0
- package/box-shadow.d.ts +10 -0
- package/box-shadow.js +48 -0
- package/common.d.ts +485 -0
- package/common.js +2659 -0
- package/css-colors.d.ts +17 -0
- package/css-colors.js +54 -0
- package/css-environment.d.ts +49 -0
- package/css-environment.js +309 -0
- package/css-filter.d.ts +17 -0
- package/css-filter.js +140 -0
- package/css-keyframes.d.ts +41 -0
- package/css-keyframes.js +437 -0
- package/css-math.d.ts +34 -0
- package/css-math.js +300 -0
- package/css-shorthands.d.ts +65 -0
- package/css-shorthands.js +673 -0
- package/css-transform.d.ts +6 -0
- package/css-transform.js +100 -0
- package/diagnostics.d.ts +51 -0
- package/diagnostics.js +52 -0
- package/display-density.d.ts +9 -0
- package/display-density.js +20 -0
- package/fonts.d.ts +20 -0
- package/fonts.js +88 -0
- package/foreign-layout.d.ts +6 -0
- package/foreign-layout.js +151 -0
- package/gradient-stops.d.ts +25 -0
- package/gradient-stops.js +112 -0
- package/index.android.d.ts +11 -0
- package/index.android.js +9 -0
- package/index.d.ts +12 -0
- package/index.ios.d.ts +11 -0
- package/index.ios.js +9 -0
- package/ios-host-README.md +124 -0
- package/layout-types.d.ts +192 -0
- package/mask.d.ts +54 -0
- package/mask.js +26 -0
- package/native-environment.android.d.ts +3 -0
- package/native-environment.android.js +69 -0
- package/native-environment.d.ts +3 -0
- package/native-environment.ios.d.ts +3 -0
- package/native-environment.ios.js +65 -0
- package/native-types-README.md +51 -0
- package/package.json +47 -6
- package/panel-helpers.d.ts +3 -0
- package/panel-helpers.js +8 -0
- package/platforms/android/MasonCore.aar +0 -0
- package/platforms/android/include.gradle +6 -0
- package/platforms/android/manifest.json +73 -0
- package/platforms/ios/FontManager.LICENSE +201 -0
- package/platforms/ios/MasonCore.xcframework/Info.plist +43 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64/MasonCore.framework/Headers/Mason.h +25 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64/MasonCore.framework/Headers/MasonCore-Swift.h +1739 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64/MasonCore.framework/Headers/mason_native.h +601 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64/MasonCore.framework/Info.plist +0 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64/MasonCore.framework/MasonCore +0 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64/MasonCore.framework/Modules/MasonCore.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64/MasonCore.framework/Modules/MasonCore.swiftmodule/arm64-apple-ios.abi.json +100095 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64/MasonCore.framework/Modules/MasonCore.swiftmodule/arm64-apple-ios.private.swiftinterface +3174 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64/MasonCore.framework/Modules/MasonCore.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64/MasonCore.framework/Modules/MasonCore.swiftmodule/arm64-apple-ios.swiftinterface +3174 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64/MasonCore.framework/Modules/module.modulemap +9 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64/MasonCore.framework/SDWebImage_SDWebImage.bundle/Info.plist +0 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64/MasonCore.framework/SDWebImage_SDWebImage.bundle/PrivacyInfo.xcprivacy +23 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64-simulator/MasonCore.framework/Headers/Mason.h +25 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64-simulator/MasonCore.framework/Headers/MasonCore-Swift.h +1739 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64-simulator/MasonCore.framework/Headers/mason_native.h +601 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64-simulator/MasonCore.framework/Info.plist +0 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64-simulator/MasonCore.framework/MasonCore +0 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64-simulator/MasonCore.framework/Modules/MasonCore.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64-simulator/MasonCore.framework/Modules/MasonCore.swiftmodule/arm64-apple-ios-simulator.abi.json +100095 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64-simulator/MasonCore.framework/Modules/MasonCore.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +3174 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64-simulator/MasonCore.framework/Modules/MasonCore.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64-simulator/MasonCore.framework/Modules/MasonCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface +3174 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64-simulator/MasonCore.framework/Modules/module.modulemap +9 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64-simulator/MasonCore.framework/SDWebImage_SDWebImage.bundle/Info.plist +0 -0
- package/platforms/ios/MasonCore.xcframework/ios-arm64-simulator/MasonCore.framework/SDWebImage_SDWebImage.bundle/PrivacyInfo.xcprivacy +23 -0
- package/platforms/ios/Package.resolved +24 -0
- package/platforms/ios/SDWebImage.LICENSE +20 -0
- package/platforms/ios/build.xcconfig +4 -0
- package/platforms/ios/device-manifest.json +213 -0
- package/platforms/ios/include/FontManager/NSCFontDescriptors.h +36 -0
- package/platforms/ios/include/FontManager/NSCFontFace.h +98 -0
- package/platforms/ios/include/FontManager/NSCFontFaceSet.h +73 -0
- package/platforms/ios/include/FontManager/NSCFontManagerUmbrella.h +7 -0
- package/platforms/ios/include/FontManager/NSCFontParser.h +22 -0
- package/platforms/ios/include/FontManager/NSCFontRegex.h +4 -0
- package/platforms/ios/include/FontManager/NSCFontResolver.h +43 -0
- package/platforms/ios/include/FontManager/NSCFontStyle.h +27 -0
- package/platforms/ios/include/FontManager/NSCFontTypes.h +41 -0
- package/platforms/ios/include/SDWebImage/NSButton+WebCache.h +340 -0
- package/platforms/ios/include/SDWebImage/NSData+ImageContentType.h +63 -0
- package/platforms/ios/include/SDWebImage/NSImage+Compatibility.h +67 -0
- package/platforms/ios/include/SDWebImage/SDAnimatedImage.h +136 -0
- package/platforms/ios/include/SDWebImage/SDAnimatedImagePlayer.h +113 -0
- package/platforms/ios/include/SDWebImage/SDAnimatedImageRep.h +33 -0
- package/platforms/ios/include/SDWebImage/SDAnimatedImageView+WebCache.h +168 -0
- package/platforms/ios/include/SDWebImage/SDAnimatedImageView.h +125 -0
- package/platforms/ios/include/SDWebImage/SDCallbackQueue.h +59 -0
- package/platforms/ios/include/SDWebImage/SDDiskCache.h +146 -0
- package/platforms/ios/include/SDWebImage/SDGraphicsImageRenderer.h +84 -0
- package/platforms/ios/include/SDWebImage/SDImageAPNGCoder.h +19 -0
- package/platforms/ios/include/SDWebImage/SDImageAWebPCoder.h +23 -0
- package/platforms/ios/include/SDWebImage/SDImageCache.h +482 -0
- package/platforms/ios/include/SDWebImage/SDImageCacheConfig.h +153 -0
- package/platforms/ios/include/SDWebImage/SDImageCacheDefine.h +179 -0
- package/platforms/ios/include/SDWebImage/SDImageCachesManager.h +81 -0
- package/platforms/ios/include/SDWebImage/SDImageCoder.h +347 -0
- package/platforms/ios/include/SDWebImage/SDImageCoderHelper.h +251 -0
- package/platforms/ios/include/SDWebImage/SDImageCodersManager.h +58 -0
- package/platforms/ios/include/SDWebImage/SDImageFrame.h +44 -0
- package/platforms/ios/include/SDWebImage/SDImageGIFCoder.h +22 -0
- package/platforms/ios/include/SDWebImage/SDImageGraphics.h +28 -0
- package/platforms/ios/include/SDWebImage/SDImageHEICCoder.h +25 -0
- package/platforms/ios/include/SDWebImage/SDImageIOAnimatedCoder.h +65 -0
- package/platforms/ios/include/SDWebImage/SDImageIOCoder.h +30 -0
- package/platforms/ios/include/SDWebImage/SDImageLoader.h +146 -0
- package/platforms/ios/include/SDWebImage/SDImageLoadersManager.h +40 -0
- package/platforms/ios/include/SDWebImage/SDImageTransformer.h +283 -0
- package/platforms/ios/include/SDWebImage/SDMemoryCache.h +78 -0
- package/platforms/ios/include/SDWebImage/SDWebImage.h +91 -0
- package/platforms/ios/include/SDWebImage/SDWebImageCacheKeyFilter.h +35 -0
- package/platforms/ios/include/SDWebImage/SDWebImageCacheSerializer.h +39 -0
- package/platforms/ios/include/SDWebImage/SDWebImageCompat.h +102 -0
- package/platforms/ios/include/SDWebImage/SDWebImageDefine.h +420 -0
- package/platforms/ios/include/SDWebImage/SDWebImageDownloader.h +320 -0
- package/platforms/ios/include/SDWebImage/SDWebImageDownloaderConfig.h +113 -0
- package/platforms/ios/include/SDWebImage/SDWebImageDownloaderDecryptor.h +52 -0
- package/platforms/ios/include/SDWebImage/SDWebImageDownloaderOperation.h +191 -0
- package/platforms/ios/include/SDWebImage/SDWebImageDownloaderRequestModifier.h +72 -0
- package/platforms/ios/include/SDWebImage/SDWebImageDownloaderResponseModifier.h +72 -0
- package/platforms/ios/include/SDWebImage/SDWebImageError.h +33 -0
- package/platforms/ios/include/SDWebImage/SDWebImageIndicator.h +119 -0
- package/platforms/ios/include/SDWebImage/SDWebImageManager.h +290 -0
- package/platforms/ios/include/SDWebImage/SDWebImageOperation.h +27 -0
- package/platforms/ios/include/SDWebImage/SDWebImageOptionsProcessor.h +78 -0
- package/platforms/ios/include/SDWebImage/SDWebImagePrefetcher.h +168 -0
- package/platforms/ios/include/SDWebImage/SDWebImageTransition.h +131 -0
- package/platforms/ios/include/SDWebImage/UIButton+WebCache.h +402 -0
- package/platforms/ios/include/SDWebImage/UIImage+ExtendedCacheData.h +24 -0
- package/platforms/ios/include/SDWebImage/UIImage+ForceDecode.h +52 -0
- package/platforms/ios/include/SDWebImage/UIImage+GIF.h +26 -0
- package/platforms/ios/include/SDWebImage/UIImage+MemoryCacheCost.h +27 -0
- package/platforms/ios/include/SDWebImage/UIImage+Metadata.h +104 -0
- package/platforms/ios/include/SDWebImage/UIImage+MultiFormat.h +81 -0
- package/platforms/ios/include/SDWebImage/UIImage+Transform.h +164 -0
- package/platforms/ios/include/SDWebImage/UIImageView+HighlightedWebCache.h +142 -0
- package/platforms/ios/include/SDWebImage/UIImageView+WebCache.h +209 -0
- package/platforms/ios/include/SDWebImage/UIView+WebCache.h +131 -0
- package/platforms/ios/include/SDWebImage/UIView+WebCacheOperation.h +52 -0
- package/platforms/ios/include/SDWebImage/UIView+WebCacheState.h +63 -0
- package/platforms/ios/include/module.modulemap +2 -0
- package/platforms/ios/manifest.json +132 -0
- package/platforms/ios/simulator-manifest.json +213 -0
- package/plugin-README.md +234 -0
- package/properties.d.ts +154 -0
- package/properties.js +2456 -0
- package/pseudo.d.ts +9 -0
- package/pseudo.js +57 -0
- package/scroll/index.android.d.ts +15 -0
- package/scroll/index.android.js +72 -0
- package/scroll/index.d.ts +5 -0
- package/scroll/index.ios.d.ts +18 -0
- package/scroll/index.ios.js +106 -0
- package/style.d.ts +768 -0
- package/style.js +7167 -0
- package/symbols.d.ts +25 -0
- package/symbols.js +41 -0
- package/tree/index.android.d.ts +11 -0
- package/tree/index.android.js +42 -0
- package/tree/index.d.ts +15 -0
- package/tree/index.ios.d.ts +26 -0
- package/tree/index.ios.js +53 -0
- package/typings/android-declarations.d.ts +4 -0
- package/typings/android.d.ts +9730 -0
- package/typings/manifest.json +45 -0
- package/typings/native.d.ts +5 -0
- package/typings/objc!FontManager.d.ts +389 -0
- package/typings/objc!MasonCore.d.ts +2472 -0
- package/typings/objc!SDWebImage.d.ts +3378 -0
- package/units.d.ts +29 -0
- package/units.js +44 -0
- package/utils/index.android.d.ts +211 -0
- package/utils/index.android.js +595 -0
- package/utils/index.ios.d.ts +222 -0
- package/utils/index.ios.js +790 -0
- package/view/index.android.d.ts +13 -0
- package/view/index.android.js +74 -0
- package/view/index.d.ts +2 -0
- package/view/index.ios.d.ts +24 -0
- package/view/index.ios.js +157 -0
package/plugin-README.md
ADDED
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
# Mason core NativeScript plugin proof
|
|
2
|
+
|
|
3
|
+
This experimental plugin combines the container-only JavaScript runtime with the
|
|
4
|
+
independently built native hosts. It excludes MasonKit's HTML parser, rich-text
|
|
5
|
+
renderer and optional widgets. The portable helper proof and existing full MasonKit package remain separate.
|
|
6
|
+
The normal core build produces this plugin.
|
|
7
|
+
|
|
8
|
+
Build the hosts, then assemble the plugin:
|
|
9
|
+
|
|
10
|
+
```sh
|
|
11
|
+
pnpm exec nx run nativescript-mason-core:verify.host.ios.artifact
|
|
12
|
+
pnpm exec nx run nativescript-mason-core:verify.host.ios.device.artifact
|
|
13
|
+
pnpm exec nx run nativescript-mason-core:build.host.ios.xcframework
|
|
14
|
+
pnpm exec nx run nativescript-mason-core:build.host.android
|
|
15
|
+
pnpm exec nx run nativescript-mason-core:build
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Native builds require the development environment's native-build resource
|
|
19
|
+
reservation. Assembly reads the exported artifacts and verifies their hashes;
|
|
20
|
+
it does not rebuild them. The result is
|
|
21
|
+
`dist/packages/nativescript-mason-core`.
|
|
22
|
+
|
|
23
|
+
Verify its packed files and prepare the isolated NativeScript app:
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
pnpm exec nx run nativescript-mason-core:prepare.consumer
|
|
27
|
+
cd tmp/mason-core-nativescript-consumer
|
|
28
|
+
pnpm install
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The fixture has its own pnpm workspace and explicit build-script allowlist.
|
|
32
|
+
Do not pass `--ignore-workspace`: that also ignores this fixture's dependency
|
|
33
|
+
policy. After regenerating the tarball, use `pnpm install --force` to refresh
|
|
34
|
+
the installed file dependency. Run the native build targets from the repository
|
|
35
|
+
root under a native-build reservation:
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
pnpm exec nx run nativescript-mason-core:build.consumer.ios
|
|
39
|
+
pnpm exec nx run nativescript-mason-core:build.consumer.android
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
The app creates Mason containers hosting ordinary NativeScript labels and
|
|
43
|
+
writes geometry/ownership assertions to its documents folder as
|
|
44
|
+
`mason-core-result.json`. Build success alone does not establish that they pass.
|
|
45
|
+
The package includes independent native bridge declarations, generated from
|
|
46
|
+
the core artifacts. Assembly rejects types whose recorded native hashes differ
|
|
47
|
+
from the hosts being packaged. See [native type generation](native-types-README.md).
|
|
48
|
+
|
|
49
|
+
Run the application assertions from the repository root:
|
|
50
|
+
|
|
51
|
+
```sh
|
|
52
|
+
pnpm exec nx run nativescript-mason-core:test.consumer.ios
|
|
53
|
+
pnpm exec nx run nativescript-mason-core:test.consumer.android.device
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
The iOS runner uses the dedicated simulator recorded by the native host test
|
|
57
|
+
setup. The Android runner uses the sole authorized arm64 phone, or
|
|
58
|
+
`MASON_CORE_ANDROID_SERIAL` when several are connected. Reserve the corresponding
|
|
59
|
+
device before running. Each runner stops its own probe afterward; the Android
|
|
60
|
+
runner verifies ownership before replacing an installed app.
|
|
61
|
+
|
|
62
|
+
The prototype includes an arm64 iOS device/simulator XCFramework and an Android
|
|
63
|
+
arm64-v8a AAR. Release-size savings remain unqualified.
|
|
64
|
+
The isolated apps pass bridge, native geometry and ownership assertions on an
|
|
65
|
+
arm64 iOS simulator and an API 36 Android phone. They install only core and
|
|
66
|
+
NativeScript core as runtime dependencies. The iOS app declares the scene
|
|
67
|
+
lifecycle required by the current SDK; NativeScript provides its default scene
|
|
68
|
+
delegate. Plain-app assertions and renderer assertions are qualified separately.
|
|
69
|
+
The compiled scenario also passes OS input on the simulator and Android emulator
|
|
70
|
+
as described below. Do not switch production consumers or publish
|
|
71
|
+
this artifact.
|
|
72
|
+
|
|
73
|
+
iOS retains embedded FontManager and SDWebImage code, dependency module headers,
|
|
74
|
+
licenses and the SDWebImage resource/privacy bundle embedded in each matching
|
|
75
|
+
framework slice. Android declares the same
|
|
76
|
+
direct Maven dependencies as the native host build; their transitive AndroidX
|
|
77
|
+
cost remains. No app-size savings have been measured.
|
|
78
|
+
|
|
79
|
+
Use core and full MasonKit in separate apps. Native Objective-C/JNI class names
|
|
80
|
+
are deliberately preserved, so coinstallation is unsupported. The package's
|
|
81
|
+
`artifact-inventory.json` records every shipped file's SHA-256 hash. Platform
|
|
82
|
+
manifests preserve native build provenance.
|
|
83
|
+
|
|
84
|
+
## Qualify the Xplat renderer separately
|
|
85
|
+
|
|
86
|
+
The renderer scenario reads the selected Xplat checkout's catalog pins and
|
|
87
|
+
canonical Octane, NativeScript core and renderer patches. It changes only the
|
|
88
|
+
renderer patch's two Mason package imports to point at core. It records patch
|
|
89
|
+
hashes and the Xplat commit, verifies shared runtime resolution, and rejects
|
|
90
|
+
full MasonKit anywhere in the installed production graph.
|
|
91
|
+
|
|
92
|
+
```sh
|
|
93
|
+
MASON_CORE_XPLAT_REPOSITORY=/path/to/octane-xplat \
|
|
94
|
+
pnpm exec nx run nativescript-mason-core:prepare.consumer.renderer
|
|
95
|
+
cd tmp/mason-core-nativescript-consumer
|
|
96
|
+
pnpm install --force
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Return to the repository root and use the same build and consumer test targets
|
|
100
|
+
shown above. The scenario checks driver geometry updates, reparenting and
|
|
101
|
+
disposal, followed by a real Octane component mount/update/unmount. Its checks
|
|
102
|
+
are a separate qualification from the plain application's bridge assertions;
|
|
103
|
+
a successful build does not establish a renderer runtime pass.
|
|
104
|
+
|
|
105
|
+
The renderer scenario passes on an arm64 iOS 27 simulator and API 35 arm64
|
|
106
|
+
Android emulator with Octane 0.14.0, renderer 0.2.5 and NativeScript core 9.1.3.
|
|
107
|
+
It includes native geometry after prop updates, reparenting/disposal and an
|
|
108
|
+
Octane component mount/update/unmount without recreating its foreign label.
|
|
109
|
+
The same-dependency plain controls pass on both targets. These results do not
|
|
110
|
+
qualify compiled TSRX components, hook subscriptions, OS input or a physical
|
|
111
|
+
Android renderer run. The earlier plain-app phone result remains separate.
|
|
112
|
+
|
|
113
|
+
The `prepare.consumer.renderer.control` target uses the same dependency pins
|
|
114
|
+
and patches with the plain NativeScript entry instead. It isolates SDK changes
|
|
115
|
+
from renderer operations. Reinstall and rebuild after changing scenarios. The
|
|
116
|
+
builder regenerates only its owned platform directory when native dependency
|
|
117
|
+
inputs change, avoiding stale Xcode references to previous pnpm peer paths.
|
|
118
|
+
|
|
119
|
+
When no phone is connected, reserve the dedicated `android:mason-core-extraction`
|
|
120
|
+
AVD and one resident-device slot, then run:
|
|
121
|
+
|
|
122
|
+
```sh
|
|
123
|
+
pnpm exec nx run nativescript-mason-core:test.consumer.android.emulator
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
The emulator runner boots and shuts down only that owned AVD. Emulator results
|
|
127
|
+
remain distinct from physical-device results. These checks do not exercise OS
|
|
128
|
+
touch input or establish release-size savings.
|
|
129
|
+
|
|
130
|
+
## Compile TSRX and verify hooks
|
|
131
|
+
|
|
132
|
+
The compiled scenario uses the same renderer dependency boundary, with an
|
|
133
|
+
authored component under `src/*.tsrx`. Prepare it with the selected Xplat
|
|
134
|
+
checkout, then install, build and run using the commands above:
|
|
135
|
+
|
|
136
|
+
```sh
|
|
137
|
+
MASON_CORE_XPLAT_REPOSITORY=/path/to/octane-xplat \
|
|
138
|
+
pnpm exec nx run nativescript-mason-core:prepare.consumer.compiled
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
The native build invokes the pinned Octane 0.14.0 compiler before webpack.
|
|
142
|
+
Its optional `@tsrx/oxc` 0.20.0 parser belongs to this fixture's development
|
|
143
|
+
dependencies; core gains no dependency. The emitted hooks import the native
|
|
144
|
+
renderer runtime, and `compiled-component-manifest.json` records source and
|
|
145
|
+
emission hashes. The component runs in the same Page/Frame hosting pattern
|
|
146
|
+
as Xplat's mobile application.
|
|
147
|
+
|
|
148
|
+
This scenario passes on arm64 iOS 27 Simulator and the API 35 Android emulator.
|
|
149
|
+
It checks class-authored geometry, a synthesized NativeScript button handler,
|
|
150
|
+
hook-driven text/size updates without replacing the label, scroll content and
|
|
151
|
+
programmatic seek, effect cleanup, ref clearing and host release. The button
|
|
152
|
+
notification is explicitly synthetic; these results do not establish OS touch
|
|
153
|
+
input or physical-device renderer qualification.
|
|
154
|
+
|
|
155
|
+
## Verify OS taps and touch scrolling
|
|
156
|
+
|
|
157
|
+
Build the compiled scenario above, then run these targets under the matching
|
|
158
|
+
owned-device reservation:
|
|
159
|
+
|
|
160
|
+
```sh
|
|
161
|
+
pnpm exec nx run nativescript-mason-core:test.consumer.ios.input
|
|
162
|
+
pnpm exec nx run nativescript-mason-core:test.consumer.android.input.emulator
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
The iOS target requires `idb` and `idb_companion` on `PATH`. It creates a private
|
|
166
|
+
companion socket for the owned simulator and sends HID coordinate input. The
|
|
167
|
+
Android target uses `adb shell input` after confirming that the owned app has
|
|
168
|
+
focus. For a connected authorized phone, use
|
|
169
|
+
`test.consumer.android.input.device` instead. No screenshots are required.
|
|
170
|
+
|
|
171
|
+
The app reports native button and scroll coordinates in
|
|
172
|
+
`mason-core-input-ready.json`; the runner records each delivered phase in
|
|
173
|
+
`input-actions.json`. In this mode the app waits for a real tap and swipe. It
|
|
174
|
+
requires the count and label width to update, then checks that an on-screen
|
|
175
|
+
row moves by the reported scroll offset before verifying effect/ref cleanup.
|
|
176
|
+
The ordinary consumer targets retain synthetic notification and programmatic
|
|
177
|
+
seek coverage. Input results must be reported separately from those checks
|
|
178
|
+
and separately for simulators, emulators and physical devices.
|
|
179
|
+
|
|
180
|
+
OS-input checks pass on arm64 iOS 27 Simulator and the API 35 Android emulator.
|
|
181
|
+
Native row movement matches the reported scroll offset (137.3 points on iOS,
|
|
182
|
+
94.9 logical pixels on Android). The actual-Vite consumer also passes on the
|
|
183
|
+
API 36 physical Android phone
|
|
184
|
+
with registry core `1.0.0-beta.0` and current Xplat patches: a real inspector
|
|
185
|
+
WebSocket responds, an OS tap changes the hook-driven label width from about
|
|
186
|
+
90 to 130, and an OS swipe moves its native row by the reported 99.38 logical
|
|
187
|
+
pixels before cleanup. Run the prepared fixture with:
|
|
188
|
+
|
|
189
|
+
```sh
|
|
190
|
+
MASON_CORE_ANDROID_SERIAL=DEVICE_SERIAL pnpm exec nx run \
|
|
191
|
+
nativescript-mason-core:test.consumer.android.input.device --inspector
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Replace `DEVICE_SERIAL` with the authorized physical phone's adb serial.
|
|
195
|
+
The published beta also passes the actual-Vite fixture on arm64 iOS 27
|
|
196
|
+
Simulator: native HID tap changes width from 90 to 130 points, swipe produces
|
|
197
|
+
matching native row movement and scroll offset (169.29 points), and cleanup
|
|
198
|
+
runs once. With the dedicated simulator shut down and its resource reservation
|
|
199
|
+
held, run:
|
|
200
|
+
|
|
201
|
+
```sh
|
|
202
|
+
pnpm exec nx run nativescript-mason-core:build.consumer.ios
|
|
203
|
+
pnpm exec nx run nativescript-mason-core:test.consumer.ios.input
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
iOS physical runtime and input remain unqualified. The signed development app
|
|
207
|
+
and a native UI-test runner build successfully. A temporary device test
|
|
208
|
+
passes its tap/count checks, but fails its final post-drag assertion; it has
|
|
209
|
+
not produced a passing consumer result. This does not resolve the separate
|
|
210
|
+
intermittent Android emulator cold-start failures.
|
|
211
|
+
|
|
212
|
+
## Build an unsigned iOS device app
|
|
213
|
+
|
|
214
|
+
The same installed compiled consumer can build a device application without
|
|
215
|
+
selecting certificates or changing provisioning:
|
|
216
|
+
|
|
217
|
+
```sh
|
|
218
|
+
pnpm exec nx run nativescript-mason-core:build.consumer.ios.device
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
This target prepares through NativeScript, then invokes Xcode with signing
|
|
222
|
+
disabled. It checks that the app selects the device framework, embeds the
|
|
223
|
+
device privacy bundle and generates the core bridge classes without optional
|
|
224
|
+
HTML/text/widget declarations. This is build/metadata evidence only; no iOS
|
|
225
|
+
physical-device runtime or distribution signing is qualified.
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
## Safe-area environment resolver
|
|
229
|
+
|
|
230
|
+
Core `1.0.0-beta.1` automatically binds loaded Mason roots to their owning
|
|
231
|
+
native window when a subtree first uses `env()`. See the package README for
|
|
232
|
+
window ownership, explicit source overrides, fallback semantics and headless
|
|
233
|
+
coverage. Actual native inset dispatch/layout remains unqualified; Xplat keeps
|
|
234
|
+
a qualification warning for this beta.
|
package/properties.d.ts
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { CssProperty, CssAnimationProperty, InheritedCssProperty, Style, ShorthandProperty, Property } from '@nativescript/core';
|
|
2
|
+
import { Display, Overflow, Length, Gap, LengthAuto, Position, BoxSizing, GridAutoFlow, AlignContent, VerticalAlign, Float, Clear } from '.';
|
|
3
|
+
import type { ViewBase } from './common';
|
|
4
|
+
import type { LonghandValue } from './css-shorthands';
|
|
5
|
+
type ShorthandLonghand = CssProperty<Style, any> | CssAnimationProperty<Style, any>;
|
|
6
|
+
export interface MasonShorthand {
|
|
7
|
+
cssName: string;
|
|
8
|
+
longhands: ShorthandLonghand[];
|
|
9
|
+
split(value: string): LonghandValue[];
|
|
10
|
+
}
|
|
11
|
+
export declare function shorthandConverter({ cssName, longhands, split }: MasonShorthand): (value: unknown) => [ShorthandLonghand, unknown][];
|
|
12
|
+
export declare const textProperty: Property<ViewBase, string>;
|
|
13
|
+
export declare const displayProperty: CssProperty<Style, Display>;
|
|
14
|
+
export declare const filterProperty: CssProperty<Style, string>;
|
|
15
|
+
export declare const borderColorProperty: CssProperty<Style, string>;
|
|
16
|
+
export declare const backgroundProperty: CssProperty<Style, string>;
|
|
17
|
+
export declare const backgroundImageProperty: CssProperty<Style, string>;
|
|
18
|
+
export declare const backgroundRepeatProperty: CssProperty<Style, string>;
|
|
19
|
+
export declare const backgroundPositionProperty: CssProperty<Style, string>;
|
|
20
|
+
export declare const backgroundSizeProperty: CssProperty<Style, string>;
|
|
21
|
+
export declare const backgroundClipProperty: CssProperty<Style, string>;
|
|
22
|
+
export declare const overflowXProperty: CssProperty<Style, Overflow>;
|
|
23
|
+
export declare const overflowYProperty: CssProperty<Style, Overflow>;
|
|
24
|
+
export declare const overflowProperty: ShorthandProperty<Style, any>;
|
|
25
|
+
export declare const paddingProperty: CssProperty<Style, string>;
|
|
26
|
+
export declare const whiteSpaceProperty: CssProperty<Style, string>;
|
|
27
|
+
/**
|
|
28
|
+
* CSS `touch-action` as the pan flags native scroll views read: 1 = pan-x,
|
|
29
|
+
* 2 = pan-y, 4 = pinch-zoom. A Mason scroll view only starts a drag along an
|
|
30
|
+
* axis every element from the touched one up to it allows, as browsers do.
|
|
31
|
+
*/
|
|
32
|
+
export declare function parseTouchAction(value: string): number;
|
|
33
|
+
export declare const touchActionProperty: CssProperty<Style, string>;
|
|
34
|
+
export declare const objectFitProperty: CssProperty<Style, string>;
|
|
35
|
+
export declare const textJustifyProperty: CssProperty<Style, string>;
|
|
36
|
+
export declare const backgroundPositionXProperty: CssProperty<Style, string>;
|
|
37
|
+
export declare const backgroundPositionYProperty: CssProperty<Style, string>;
|
|
38
|
+
export declare const backgroundOriginProperty: CssProperty<Style, string>;
|
|
39
|
+
export declare const backgroundAttachmentProperty: CssProperty<Style, string>;
|
|
40
|
+
export declare const backgroundBlendModeProperty: CssProperty<Style, string>;
|
|
41
|
+
export declare const textDecorationLineProperty: CssProperty<Style, string>;
|
|
42
|
+
export declare const textDecorationStyleProperty: CssProperty<Style, string>;
|
|
43
|
+
export declare const textDecorationColorProperty: CssProperty<Style, string>;
|
|
44
|
+
export declare const textDecorationThicknessProperty: CssProperty<Style, string>;
|
|
45
|
+
export declare const fontFamilyProperty: CssProperty<Style, string>;
|
|
46
|
+
export declare const marginProperty: CssProperty<Style, string>;
|
|
47
|
+
export declare const scrollBarWidthProperty: CssProperty<Style, number>;
|
|
48
|
+
/** The declaration behind `value` if it came from this view's own CSS, else `value`. */
|
|
49
|
+
export declare function masonRawDeclaration(style: Style, propertyName: string, value: unknown): unknown;
|
|
50
|
+
export declare const rowGapProperty: CssProperty<Style, Length>;
|
|
51
|
+
export declare const columnGapProperty: CssProperty<Style, Length>;
|
|
52
|
+
export declare const gridGapProperty: ShorthandProperty<Style, any>;
|
|
53
|
+
export declare const gapProperty: ShorthandProperty<Style, any>;
|
|
54
|
+
export declare const gridRowGapProperty: ShorthandProperty<Style, Gap>;
|
|
55
|
+
export declare const gridColumnGapProperty: ShorthandProperty<Style, Length>;
|
|
56
|
+
export declare const maxWidthProperty: CssProperty<Style, LengthAuto>;
|
|
57
|
+
export declare const maxHeightProperty: CssProperty<Style, LengthAuto>;
|
|
58
|
+
export declare function installMasonSizeUnits(style: Style): void;
|
|
59
|
+
export declare const insetProperty: ShorthandProperty<Style, LengthAuto>;
|
|
60
|
+
export declare const leftProperty: CssProperty<Style, LengthAuto>;
|
|
61
|
+
export declare const rightProperty: CssProperty<Style, LengthAuto>;
|
|
62
|
+
export declare const topProperty: CssProperty<Style, LengthAuto>;
|
|
63
|
+
export declare const bottomProperty: CssProperty<Style, LengthAuto>;
|
|
64
|
+
export declare const positionProperty: CssProperty<Style, Position>;
|
|
65
|
+
export declare const boxSizingProperty: CssProperty<Style, BoxSizing>;
|
|
66
|
+
export declare const borderRadiusProperty: CssProperty<Style, string>;
|
|
67
|
+
export declare const AlignItemsIsValid: (value: any) => value is string;
|
|
68
|
+
export declare const AlignItemsParse: (value: any) => unknown;
|
|
69
|
+
export declare const AlignSelfIsValid: (value: any) => value is string;
|
|
70
|
+
export declare const AlignSelfParse: (value: any) => unknown;
|
|
71
|
+
export declare const AlignContentIsValid: (value: any) => value is string;
|
|
72
|
+
export declare const AlignContentParse: (value: any) => unknown;
|
|
73
|
+
export declare const alignContentProperty: CssProperty<Style, AlignContent>;
|
|
74
|
+
export declare const justifyItemsProperty: CssProperty<Style, import("./layout-types").AlignItems>;
|
|
75
|
+
export declare const justifySelfProperty: CssProperty<Style, import("./layout-types").AlignSelf>;
|
|
76
|
+
export declare const placeShorthands: MasonShorthand[];
|
|
77
|
+
export declare const JustifyContentIsValid: (value: any) => value is string;
|
|
78
|
+
export declare const JustifyContentParse: (value: any) => unknown;
|
|
79
|
+
export declare const flexBasisProperty: CssProperty<Style, LengthAuto>;
|
|
80
|
+
export declare const aspectRatioProperty: CssProperty<Style, number>;
|
|
81
|
+
export declare const gridAutoRowsProperty: CssProperty<Style, string>;
|
|
82
|
+
export declare const gridAutoColumnsProperty: CssProperty<Style, string>;
|
|
83
|
+
export declare const gridAutoFlowProperty: CssProperty<Style, GridAutoFlow>;
|
|
84
|
+
export declare const gridAreaProperty: CssProperty<Style, string>;
|
|
85
|
+
export declare const gridColumnStartProperty: CssProperty<Style, string>;
|
|
86
|
+
export declare const gridColumnEndProperty: CssProperty<Style, string>;
|
|
87
|
+
export declare const gridColumnProperty: CssProperty<Style, string>;
|
|
88
|
+
export declare const gridRowStartProperty: CssProperty<Style, string>;
|
|
89
|
+
export declare const gridRowEndProperty: CssProperty<Style, string>;
|
|
90
|
+
export declare const gridRowProperty: CssProperty<Style, string>;
|
|
91
|
+
export declare const gridTemplateAreasProperty: CssProperty<Style, string>;
|
|
92
|
+
export declare const gridTemplateRowsProperty: CssProperty<Style, string>;
|
|
93
|
+
export declare const gridTemplateColumnsProperty: CssProperty<Style, string>;
|
|
94
|
+
export declare const textWrapProperty: CssProperty<Style, "nowrap" | "wrap" | "balance">;
|
|
95
|
+
export declare const textOverFlowProperty: CssProperty<Style, string>;
|
|
96
|
+
export declare const verticalAlignProperty: CssProperty<Style, VerticalAlign>;
|
|
97
|
+
export declare const floatProperty: CssProperty<Style, Float>;
|
|
98
|
+
export declare const clearProperty: CssProperty<Style, Clear>;
|
|
99
|
+
export declare const cornerShapeProperty: CssProperty<Style, string>;
|
|
100
|
+
export declare const boxShadowProperty: CssProperty<Style, string>;
|
|
101
|
+
export declare const transformProperty: CssProperty<Style, string>;
|
|
102
|
+
export declare const cornerShapeTopLeftProperty: CssProperty<Style, string>;
|
|
103
|
+
export declare const cornerShapeTopRightProperty: CssProperty<Style, string>;
|
|
104
|
+
export declare const cornerShapeBottomRightProperty: CssProperty<Style, string>;
|
|
105
|
+
export declare const cornerShapeBottomLeftProperty: CssProperty<Style, string>;
|
|
106
|
+
/** Splits `a / b / ...` into `count` longhands, filling omitted ones as CSS Grid does. */
|
|
107
|
+
export declare function gridParts(value: string, count: number): string[];
|
|
108
|
+
export declare const objectPositionProperty: CssProperty<Style, string>;
|
|
109
|
+
export declare const borderTopStyleProperty: CssProperty<Style, string>;
|
|
110
|
+
export declare const borderRightStyleProperty: CssProperty<Style, string>;
|
|
111
|
+
export declare const borderBottomStyleProperty: CssProperty<Style, string>;
|
|
112
|
+
export declare const borderLeftStyleProperty: CssProperty<Style, string>;
|
|
113
|
+
export declare const borderImageProperty: CssProperty<Style, string>;
|
|
114
|
+
export declare const fontStretchProperty: CssProperty<Style, string>;
|
|
115
|
+
export declare const fontFeatureSettingsProperty: CssProperty<Style, string>;
|
|
116
|
+
export declare const wordSpacingProperty: CssProperty<Style, string>;
|
|
117
|
+
export declare const hyphensProperty: CssProperty<Style, string>;
|
|
118
|
+
export declare const textIndentProperty: CssProperty<Style, string>;
|
|
119
|
+
export declare const lineClampProperty: CssProperty<Style, string>;
|
|
120
|
+
export declare const webkitLineClampProperty: CssProperty<Style, string>;
|
|
121
|
+
export declare const transformOriginProperty: CssProperty<Style, string>;
|
|
122
|
+
export declare const backdropFilterProperty: CssProperty<Style, string>;
|
|
123
|
+
export declare const maskImageProperty: CssProperty<Style, string>;
|
|
124
|
+
export declare const maskSizeProperty: CssAnimationProperty<Style, string>;
|
|
125
|
+
export declare const maskPositionProperty: CssAnimationProperty<Style, string>;
|
|
126
|
+
export declare const maskRepeatProperty: CssProperty<Style, string>;
|
|
127
|
+
export declare const maskOriginProperty: CssProperty<Style, string>;
|
|
128
|
+
export declare const maskClipProperty: CssProperty<Style, string>;
|
|
129
|
+
export declare const maskModeProperty: CssProperty<Style, string>;
|
|
130
|
+
export declare const maskCompositeProperty: CssProperty<Style, string>;
|
|
131
|
+
export declare const clipPathProperty: CssProperty<Style, string>;
|
|
132
|
+
export declare const maskBorderSourceProperty: CssProperty<Style, string>;
|
|
133
|
+
export declare const maskBorderSliceProperty: CssProperty<Style, string>;
|
|
134
|
+
export declare const maskBorderWidthProperty: CssProperty<Style, string>;
|
|
135
|
+
export declare const maskBorderOutsetProperty: CssProperty<Style, string>;
|
|
136
|
+
export declare const maskBorderRepeatProperty: CssProperty<Style, string>;
|
|
137
|
+
export declare const maskBorderModeProperty: CssProperty<Style, string>;
|
|
138
|
+
export declare const maskProperty: ShorthandProperty<Style, any>;
|
|
139
|
+
export declare const maskBorderProperty: ShorthandProperty<Style, any>;
|
|
140
|
+
export declare const writingModeProperty: CssProperty<Style, string>;
|
|
141
|
+
export declare const unicodeBidiProperty: CssProperty<Style, string>;
|
|
142
|
+
export declare const caretColorProperty: CssProperty<Style, string>;
|
|
143
|
+
export declare const listStyleTypeProperty: InheritedCssProperty<Style, string>;
|
|
144
|
+
export declare const listStylePositionProperty: InheritedCssProperty<Style, string>;
|
|
145
|
+
export declare const listStyleShorthand: MasonShorthand;
|
|
146
|
+
export declare const listStyleProperty: ShorthandProperty<Style, any>;
|
|
147
|
+
export declare const borderStyleProperty: ShorthandProperty<Style, any>;
|
|
148
|
+
export declare const borderProperty: ShorthandProperty<Style, any>;
|
|
149
|
+
export declare const borderTopProperty: ShorthandProperty<Style, any>;
|
|
150
|
+
export declare const borderRightProperty: ShorthandProperty<Style, any>;
|
|
151
|
+
export declare const borderBottomProperty: ShorthandProperty<Style, any>;
|
|
152
|
+
export declare const borderLeftProperty: ShorthandProperty<Style, any>;
|
|
153
|
+
export declare const masonShorthands: MasonShorthand[];
|
|
154
|
+
export {};
|