feat: Node-API engine support (#10710)

This commit is contained in:
Nathan Walker
2025-02-24 18:28:32 -08:00
committed by GitHub
parent 640db9529e
commit fb57cf3281
6 changed files with 11 additions and 10 deletions

View File

@ -1,6 +1,6 @@
// Definitions.
import { GestureEventData, TapGestureEventData, SwipeGestureEventData, PanGestureEventData, RotationGestureEventData, GestureEventDataWithState } from '.';
import { View } from '../core/view';
import type { View } from '../core/view';
import { EventData } from '../../data/observable';
// Types.

View File

@ -1,7 +1,7 @@
// Definitions.
import { GestureEventData, TapGestureEventData, GestureEventDataWithState, SwipeGestureEventData, PanGestureEventData, RotationGestureEventData, PinchGestureEventData } from '.';
import { View } from '../core/view';
import type { View } from '../core/view';
import { EventData } from '../../data/observable';
// Types.

View File

@ -5,7 +5,7 @@
import { GestureEventData, GestureEventDataWithState, TouchGestureEventData } from '.';
import { Animation } from '../animation';
import { AnimationDefinition } from '../animation/animation-interfaces';
import { View } from '../core/view';
import type { View } from '../core/view';
import { isObject, isFunction } from '../../utils/types';
import { GestureEvents, GestureStateTypes, GestureTypes } from './gestures-common';
@ -169,7 +169,7 @@ export class TouchManager {
}
}
view.on(View.disposeNativeViewEvent, (args) => {
view.on('disposeNativeView', (args) => {
const index = TouchManager.touchHandlers?.findIndex((handler) => handler.view === args.object);
if (index > -1) {
TouchManager.touchHandlers.splice(index, 1);

View File

@ -43,7 +43,7 @@ export class Style extends Observable implements StyleDefinition {
super();
// HACK: Could not find better way for cross platform WeakRef type checking.
if (ownerView.constructor.toString().indexOf('[native code]') !== -1) {
if (ownerView.constructor.toString().indexOf('[native code]') !== -1 || ownerView.toString() == '[object WeakRef]') {
this.viewRef = <WeakRef<ViewBase>>ownerView;
} else {
this.viewRef = new WeakRef(<ViewBase>ownerView);

View File

@ -1,12 +1,12 @@
{
"name": "@nativescript/webpack",
"version": "5.0.22",
"version": "5.0.23-napi.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@nativescript/webpack",
"version": "5.0.22",
"version": "5.0.23-napi.0",
"license": "Apache-2.0",
"dependencies": {
"@babel/core": "^7.0.0",

View File

@ -59,14 +59,15 @@ if (module.hot) {
},
};
const checkAndApply = async () => {
// Important: Keep as function and not fat arrow; at the moment hermes does not support them
const checkAndApply = async function () {
hash = __webpack_require__.h();
const modules = await module.hot.check().catch((error) => {
return setStatus(
hash,
'failure',
'Failed to check.',
error.message || error.stack
error.message || error.stack,
);
});
@ -82,7 +83,7 @@ if (module.hot) {
hash,
'failure',
'Failed to apply.',
error.message || error.stack
error.message || error.stack,
);
});