nativescript-vue 3.0.0-beta.5 → 3.0.0-beta.7
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 +3 -4
- package/dist/compiler.d.ts +1 -1
- package/dist/compiler.js +1 -1
- package/dist/compiler.js.map +1 -1
- package/dist/components/ActionBar.d.ts +1 -1
- package/dist/components/ActionBar.js +5 -5
- package/dist/components/ListView.d.ts +2 -2
- package/dist/components/ListView.js +10 -12
- package/dist/components/ListView.js.map +1 -1
- package/dist/components/index.d.ts +6 -2
- package/dist/components/index.js +3 -2
- package/dist/components/index.js.map +1 -1
- package/dist/directives/vModel.d.ts +8 -0
- package/dist/directives/vModel.js +38 -0
- package/dist/directives/vModel.js.map +1 -0
- package/dist/directives/vShow.d.ts +2 -2
- package/dist/directives/vShow.js +4 -4
- package/dist/dom/index.d.ts +1 -1
- package/dist/dom/index.js +7 -6
- package/dist/dom/index.js.map +1 -1
- package/dist/index.d.ts +13 -12
- package/dist/index.js +22 -31
- package/dist/index.js.map +1 -1
- package/dist/nativescript/elements.js +54 -54
- package/dist/nativescript/index.d.ts +3 -3
- package/dist/nativescript/index.js +3 -3
- package/dist/plugins/modals.d.ts +9 -5
- package/dist/plugins/modals.js +50 -32
- package/dist/plugins/modals.js.map +1 -1
- package/dist/plugins/navigation.d.ts +7 -7
- package/dist/plugins/navigation.js +59 -78
- package/dist/plugins/navigation.js.map +1 -1
- package/dist/plugins/templates.d.ts +10 -0
- package/dist/plugins/templates.js +12 -0
- package/dist/plugins/templates.js.map +1 -0
- package/dist/registry/index.d.ts +3 -3
- package/dist/registry/index.js +2 -2
- package/dist/registry/index.js.map +1 -1
- package/dist/renderer/index.js +3 -3
- package/dist/renderer/modules/attrs.d.ts +1 -1
- package/dist/renderer/modules/attrs.js +3 -3
- package/dist/renderer/modules/class.d.ts +1 -1
- package/dist/renderer/modules/class.js +2 -2
- package/dist/renderer/modules/events.d.ts +3 -3
- package/dist/renderer/modules/events.js +3 -3
- package/dist/renderer/modules/events.js.map +1 -1
- package/dist/renderer/modules/style.d.ts +2 -2
- package/dist/renderer/modules/style.js +28 -8
- package/dist/renderer/modules/style.js.map +1 -1
- package/dist/renderer/nodeOps.d.ts +3 -2
- package/dist/renderer/nodeOps.js +7 -4
- package/dist/renderer/nodeOps.js.map +1 -1
- package/dist/renderer/patchProp.d.ts +1 -1
- package/dist/renderer/patchProp.js +27 -10
- package/dist/renderer/patchProp.js.map +1 -1
- package/dist/runtimeHelpers.d.ts +14 -0
- package/dist/runtimeHelpers.js +41 -3
- package/dist/runtimeHelpers.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/withCompiler.js +1 -1
- package/dist/withCompiler.js.map +1 -1
- package/nativescript.webpack.js +24 -12
- package/package.json +26 -11
package/dist/registry/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { NSVElement, NSVViewFlags } from
|
|
2
|
-
export
|
|
3
|
-
export
|
|
1
|
+
import { NSVElement, NSVViewFlags } from '../dom';
|
|
2
|
+
export type NSVElementResolver = () => any;
|
|
3
|
+
export type NSVModelDescriptor = {
|
|
4
4
|
prop: string;
|
|
5
5
|
event: string;
|
|
6
6
|
};
|
package/dist/registry/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export let defaultViewMeta = {
|
|
2
|
-
viewFlags: 0 // NSVViewFlags.NONE
|
|
2
|
+
viewFlags: 0, // NSVViewFlags.NONE - circular dependency, using constant value instead
|
|
3
3
|
};
|
|
4
4
|
let elementMap = {};
|
|
5
5
|
export function getViewMeta(elementName) {
|
|
@@ -34,7 +34,7 @@ export function getViewClass(elementName) {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
export function normalizeElementName(elementName) {
|
|
37
|
-
return elementName.replace(/-/g,
|
|
37
|
+
return elementName.replace(/-/g, '').toLowerCase();
|
|
38
38
|
}
|
|
39
39
|
export function registerElement(elementName, resolver, meta) {
|
|
40
40
|
const normalizedName = normalizeElementName(elementName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,IAAI,eAAe,GAAgB;IACxC,SAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,IAAI,eAAe,GAAgB;IACxC,SAAS,EAAE,CAAC,EAAE,wEAAwE;CACvF,CAAC;AAEF,IAAI,UAAU,GAAyC,EAAE,CAAC;AAE1D,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,+CAA+C;IAE/C,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAEzC,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,kCAAkC,WAAW,GAAG,CAAC,CAAC;KACnE;IAED,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,IAAI,mBAAmB,CAAC;AAExB,MAAM,UAAU,2BAA2B,CAAC,QAA+B;IACzE,mBAAmB,GAAG,QAAQ,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,gDAAgD;IAChD,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAEzC,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC,WAAW,CAAC,CAAC;QAEpD,IAAI,QAAQ,EAAE;YACZ,OAAO,QAAQ,CAAC;SACjB;QAED,MAAM,IAAI,KAAK,CAAC,kCAAkC,WAAW,GAAG,CAAC,CAAC;KACnE;IAED,IAAI;QACF,OAAO,KAAK,CAAC,QAAS,EAAE,CAAC;KAC1B;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,4BAA4B,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC;KAClE;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,WAAmB,EACnB,QAA6B,EAC7B,IAA2B;IAE3B,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IAE5D,IAAI,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE;QAC/D,MAAM,IAAI,KAAK,CACb,eAAe,WAAW,wBAAwB;YAChD,gEAAgE,CACnE,CAAC;KACH;IAED,UAAU,CAAC,cAAc,CAAC,GAAG;QAC3B,IAAI,EAAE,UAAU;QAChB,QAAQ;KACT,CAAC;IACF,mDAAmD;AACrD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,OAAO,UAAU,CAAC,cAAc,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;AACtE,CAAC"}
|
package/dist/renderer/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { createRenderer } from
|
|
2
|
-
import { patchProp } from
|
|
3
|
-
import { nodeOps } from
|
|
1
|
+
import { createRenderer } from '@vue/runtime-core';
|
|
2
|
+
import { patchProp } from './patchProp';
|
|
3
|
+
import { nodeOps } from './nodeOps';
|
|
4
4
|
export const renderer = createRenderer({
|
|
5
5
|
patchProp,
|
|
6
6
|
...nodeOps,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { NSVElement } from
|
|
1
|
+
import { NSVElement } from '../../dom';
|
|
2
2
|
export declare function patchAttr(el: NSVElement, key: string, prevValue: any, nextValue: any): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { isBoolean, isAndroidKey, isIOSKey } from
|
|
2
|
-
import { isAndroid, isIOS } from
|
|
1
|
+
import { isBoolean, isAndroidKey, isIOSKey } from '../../runtimeHelpers';
|
|
2
|
+
import { isAndroid, isIOS } from '../../nativescript';
|
|
3
3
|
export function patchAttr(el, key, prevValue, nextValue) {
|
|
4
4
|
if (isAndroidKey(key)) {
|
|
5
5
|
if (!isAndroid) {
|
|
@@ -17,7 +17,7 @@ export function patchAttr(el, key, prevValue, nextValue) {
|
|
|
17
17
|
}
|
|
18
18
|
// detect expandable attrs for boolean values
|
|
19
19
|
// see https://vuejs.org/v2/guide/components-props.html#Passing-a-Boolean
|
|
20
|
-
if (isBoolean(el.getAttribute(key)) && nextValue ===
|
|
20
|
+
if (isBoolean(el.getAttribute(key)) && nextValue === '') {
|
|
21
21
|
nextValue = true;
|
|
22
22
|
}
|
|
23
23
|
if (nextValue === null) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { NSVElement } from
|
|
1
|
+
import { NSVElement } from '../../dom';
|
|
2
2
|
export declare function patchClass(el: NSVElement, value: string | null): void;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { NSVElement } from
|
|
2
|
-
import { ComponentInternalInstance } from
|
|
1
|
+
import { NSVElement } from '../../dom';
|
|
2
|
+
import { ComponentInternalInstance } from '@vue/runtime-core';
|
|
3
3
|
interface Invoker extends EventListener {
|
|
4
4
|
value: EventValue;
|
|
5
5
|
}
|
|
6
|
-
|
|
6
|
+
type EventValue = Function | Function[];
|
|
7
7
|
export declare function addEventListener(el: NSVElement, event: string, handler: EventListener, options?: EventListenerOptions): void;
|
|
8
8
|
export declare function removeEventListener(el: NSVElement, event: string, handler: EventListener, options?: EventListenerOptions): void;
|
|
9
9
|
export declare function patchEvent(el: NSVElement & {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { callWithAsyncErrorHandling, } from
|
|
1
|
+
import { callWithAsyncErrorHandling, } from '@vue/runtime-core';
|
|
2
2
|
export function addEventListener(el, event, handler, options = {}) {
|
|
3
3
|
el.addEventListener(event, handler, options);
|
|
4
4
|
}
|
|
@@ -40,10 +40,10 @@ function parseName(name) {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
// todo: optimise if necessary
|
|
43
|
-
// this isn't technically perfect,
|
|
43
|
+
// this isn't technically perfect,
|
|
44
44
|
// since if the event name was UPPER then we'll convert it to uPPER
|
|
45
45
|
// but for the majority of cases, this should be the right thing to do.
|
|
46
|
-
name = name.slice(name.startsWith(
|
|
46
|
+
name = name.slice(name.startsWith('on:') ? 3 : 2);
|
|
47
47
|
name = name.charAt(0).toLowerCase() + name.slice(1);
|
|
48
48
|
// return event name by removing on prefix. eg. onitemTap -> itemTap
|
|
49
49
|
return [name, options];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/renderer/modules/events.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,0BAA0B,GAE3B,MAAM,mBAAmB,CAAC;AAQ3B,MAAM,UAAU,gBAAgB,CAC9B,EAAc,EACd,KAAa,EACb,OAAsB,EACtB,UAAgC,EAAE;IAElC,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,EAAc,EACd,KAAa,EACb,OAAsB,EACtB,UAAgC,EAAE;IAElC,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,EAA+D,EAC/D,OAAe,EACf,SAA4B,EAC5B,SAA4B,EAC5B,WAA6C,IAAI;IAEjD,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,SAAS,IAAI,eAAe,EAAE;QAChC,QAAQ;QACR,eAAe,CAAC,KAAK,GAAG,SAAS,CAAC;KACnC;SAAM;QACL,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,SAAS,EAAE;YACb,MAAM;YACN,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;YACzE,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9C;aAAM,IAAI,eAAe,EAAE;YAC1B,SAAS;YACT,mBAAmB,CAAC,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YACxD,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;SAC/B;KACF;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,OAAyC,CAAC;IAC9C,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAChC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC;QACN,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE;YAC1C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC/C,OAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC;YAC5C,OAAO,CAAC;SACT;KACF;IAED,8BAA8B;IAC9B,
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/renderer/modules/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { NSVElement } from
|
|
2
|
-
|
|
1
|
+
import { NSVElement } from '../../dom';
|
|
2
|
+
type Style = string | Record<string, string | number> | null;
|
|
3
3
|
export declare const STYLE_ORIGINAL_VALUE: unique symbol;
|
|
4
4
|
export declare function patchStyle(el: NSVElement, prev: Style, next: Style): void;
|
|
5
5
|
export {};
|
|
@@ -1,20 +1,32 @@
|
|
|
1
|
+
import { parseStringStyle, isArray, isString, isObject, } from '@vue/shared';
|
|
1
2
|
function normalizeStyle(style) {
|
|
2
3
|
if (!style) {
|
|
3
4
|
return null;
|
|
4
5
|
}
|
|
5
|
-
if (
|
|
6
|
-
|
|
6
|
+
if (isString(style)) {
|
|
7
|
+
if (style.trim().charAt(0) === '{') {
|
|
8
|
+
return JSON.parse(style);
|
|
9
|
+
}
|
|
10
|
+
return parseStringStyle(style);
|
|
7
11
|
}
|
|
8
|
-
|
|
12
|
+
if (isArray(style)) {
|
|
13
|
+
return style.reduce((normalizedStyle, currentStyle) => {
|
|
14
|
+
return Object.assign(normalizedStyle, normalizeStyle(currentStyle));
|
|
15
|
+
}, {});
|
|
16
|
+
}
|
|
17
|
+
if (isObject(style)) {
|
|
18
|
+
return style;
|
|
19
|
+
}
|
|
20
|
+
return {};
|
|
9
21
|
}
|
|
10
22
|
function normalizeProperty(property) {
|
|
11
|
-
if (property.endsWith(
|
|
23
|
+
if (property.endsWith('Align')) {
|
|
12
24
|
// NativeScript uses Alignment instead of Align, this ensures that text-align works
|
|
13
|
-
property +=
|
|
25
|
+
property += 'ment';
|
|
14
26
|
}
|
|
15
27
|
return property;
|
|
16
28
|
}
|
|
17
|
-
export const STYLE_ORIGINAL_VALUE = Symbol(
|
|
29
|
+
export const STYLE_ORIGINAL_VALUE = Symbol('style_original_value');
|
|
18
30
|
function addStyleProperty(el, property, value) {
|
|
19
31
|
const _sov = el[STYLE_ORIGINAL_VALUE] ?? (el[STYLE_ORIGINAL_VALUE] = new Map());
|
|
20
32
|
property = normalizeProperty(property);
|
|
@@ -34,7 +46,15 @@ function removeStyleProperty(el, property) {
|
|
|
34
46
|
// changing the attribute will not update our originalValue, so when removing
|
|
35
47
|
// the previous color will be applied. Fixing this would involve listening to
|
|
36
48
|
// individual attribute changes, and it's not worth the overhead.
|
|
37
|
-
|
|
49
|
+
try {
|
|
50
|
+
el.style[property] = originalValue;
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
// hack: if the original value is invalid, we can't set it back to it's original value
|
|
54
|
+
// instead we set it to null, which will remove the style, however this may
|
|
55
|
+
// still lead to incorrect styling in some cases.
|
|
56
|
+
el.style[property] = null;
|
|
57
|
+
}
|
|
38
58
|
}
|
|
39
59
|
}
|
|
40
60
|
// todo: perhaps mimic dom version with prefixing stripped out: https://github.com/vuejs/core/blob/main/packages/runtime-dom/src/modules/style.ts
|
|
@@ -47,7 +67,7 @@ export function patchStyle(el, prev, next) {
|
|
|
47
67
|
});
|
|
48
68
|
}
|
|
49
69
|
if (!next) {
|
|
50
|
-
el.removeAttribute(
|
|
70
|
+
el.removeAttribute('style');
|
|
51
71
|
}
|
|
52
72
|
else {
|
|
53
73
|
// set new styles
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/renderer/modules/style.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/renderer/modules/style.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { VNodeProps, RendererOptions } from
|
|
2
|
-
import { NSVElement, NSVNode } from
|
|
1
|
+
import { VNodeProps, RendererOptions } from '@vue/runtime-core';
|
|
2
|
+
import { NSVElement, NSVNode } from '../dom';
|
|
3
3
|
export declare function insert(el: NSVNode, parent: NSVElement, anchor?: NSVNode | null | undefined): void;
|
|
4
4
|
export declare function remove(el: NSVNode): void;
|
|
5
5
|
export declare function createElement(type: string, isSVG?: boolean | undefined, isCustomizedBuiltIn?: string | undefined, vnodeProps?: (VNodeProps & {
|
|
@@ -13,4 +13,5 @@ export declare function parentNode(node: NSVNode): NSVElement | null;
|
|
|
13
13
|
export declare function nextSibling(node: NSVNode): NSVNode | null;
|
|
14
14
|
export declare function cloneNode(node: NSVNode): NSVNode;
|
|
15
15
|
export declare function insertStaticContent(content: string, parent: NSVElement, anchor: NSVNode, isSvg: boolean, start?: NSVNode, end?: NSVNode): [NSVNode, NSVNode];
|
|
16
|
+
export declare function setScopeId(el: NSVElement, scopeId: string): void;
|
|
16
17
|
export declare const nodeOps: Omit<RendererOptions, 'patchProp'>;
|
package/dist/renderer/nodeOps.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NSVComment, NSVElement, NSVText } from
|
|
1
|
+
import { NSVComment, NSVElement, NSVText } from '../dom';
|
|
2
2
|
export function insert(el, parent, anchor) {
|
|
3
3
|
// console.log("insert", el, parent.tagName, anchor);
|
|
4
4
|
if (anchor !== null) {
|
|
@@ -42,14 +42,17 @@ export function nextSibling(node) {
|
|
|
42
42
|
return node.nextSibling;
|
|
43
43
|
}
|
|
44
44
|
export function cloneNode(node) {
|
|
45
|
-
console.log(
|
|
45
|
+
console.log('CLONE NODE');
|
|
46
46
|
return node;
|
|
47
47
|
}
|
|
48
48
|
// insertStaticContent?(content: string, parent: HostElement, anchor: HostNode | null, isSVG: boolean, start?: HostNode | null, end?: HostNode | null): [HostNode, HostNode];
|
|
49
49
|
export function insertStaticContent(content, parent, anchor, isSvg, start, end) {
|
|
50
|
-
console.log(
|
|
50
|
+
console.log('insert static content - not implemented.');
|
|
51
51
|
return [undefined, undefined];
|
|
52
52
|
}
|
|
53
|
+
export function setScopeId(el, scopeId) {
|
|
54
|
+
el.setAttribute(scopeId, '');
|
|
55
|
+
}
|
|
53
56
|
export const nodeOps = {
|
|
54
57
|
insert,
|
|
55
58
|
remove,
|
|
@@ -62,7 +65,7 @@ export const nodeOps = {
|
|
|
62
65
|
nextSibling,
|
|
63
66
|
cloneNode,
|
|
64
67
|
insertStaticContent,
|
|
68
|
+
setScopeId,
|
|
65
69
|
// querySelector,
|
|
66
|
-
// setScopeId,
|
|
67
70
|
};
|
|
68
71
|
//# sourceMappingURL=nodeOps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeOps.js","sourceRoot":"","sources":["../../src/renderer/nodeOps.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAW,OAAO,EAAE,MAAM,QAAQ,CAAC;AAElE,MAAM,UAAU,MAAM,CACpB,EAAW,EACX,MAAkB,EAClB,MAAmC;IAEnC,qDAAqD;IACrD,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,gCAAgC;QAChC,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;KACjC;SAAM;QACL,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;KACxB;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAW;IAChC,IAAI,EAAE,CAAC,UAAU,IAAI,IAAI,EAAE;QACzB,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;KAC/B;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,KAA2B,EAC3B,mBAAwC,EACxC,UAAqE;IAErE,sCAAsC;IACtC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,6BAA6B;IAC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,gCAAgC;IAChC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAa,EAAE,IAAY;IACjD,uCAAuC;IACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAgB,EAAE,IAAY;IAC3D,+CAA+C;IAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,6CAA6C;IAC7C,OAAO,IAAI,CAAC,UAAU,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,OAAO,IAAI,CAAC,WAAW,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AACD,6KAA6K;AAC7K,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,MAAkB,EAClB,MAAe,EACf,KAAc,EACd,KAAe,EACf,GAAa;IAEb,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAExD,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAuC;IACzD,MAAM;IACN,MAAM;IACN,aAAa;IACb,UAAU;IACV,aAAa;IACb,OAAO;IACP,cAAc;IACd,UAAU;IACV,WAAW;IAEX,SAAS;IACT,mBAAmB;
|
|
1
|
+
{"version":3,"file":"nodeOps.js","sourceRoot":"","sources":["../../src/renderer/nodeOps.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAW,OAAO,EAAE,MAAM,QAAQ,CAAC;AAElE,MAAM,UAAU,MAAM,CACpB,EAAW,EACX,MAAkB,EAClB,MAAmC;IAEnC,qDAAqD;IACrD,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,gCAAgC;QAChC,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;KACjC;SAAM;QACL,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;KACxB;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAW;IAChC,IAAI,EAAE,CAAC,UAAU,IAAI,IAAI,EAAE;QACzB,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;KAC/B;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,KAA2B,EAC3B,mBAAwC,EACxC,UAAqE;IAErE,sCAAsC;IACtC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,6BAA6B;IAC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,gCAAgC;IAChC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAa,EAAE,IAAY;IACjD,uCAAuC;IACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAgB,EAAE,IAAY;IAC3D,+CAA+C;IAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,6CAA6C;IAC7C,OAAO,IAAI,CAAC,UAAU,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,OAAO,IAAI,CAAC,WAAW,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AACD,6KAA6K;AAC7K,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,MAAkB,EAClB,MAAe,EACf,KAAc,EACd,KAAe,EACf,GAAa;IAEb,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAExD,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAc,EAAE,OAAe;IACxD,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAuC;IACzD,MAAM;IACN,MAAM;IACN,aAAa;IACb,UAAU;IACV,aAAa;IACb,OAAO;IACP,cAAc;IACd,UAAU;IACV,WAAW;IAEX,SAAS;IACT,mBAAmB;IAEnB,UAAU;IAEV,mBAAmB;CACpB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { NSVElement } from
|
|
1
|
+
import { NSVElement } from '../dom';
|
|
2
2
|
export declare function patchProp(el: NSVElement, key: string, prevValue: any, nextValue: any, isSVG: boolean, prevChildren: any, parentComponent: any, parentSuspense: any, unmountChildren: any): void;
|
|
@@ -1,22 +1,39 @@
|
|
|
1
|
-
import { patchAttr } from
|
|
2
|
-
import { patchClass } from
|
|
3
|
-
import { patchEvent } from
|
|
4
|
-
import { patchStyle } from
|
|
5
|
-
import { isOn } from
|
|
1
|
+
import { patchAttr } from './modules/attrs';
|
|
2
|
+
import { patchClass } from './modules/class';
|
|
3
|
+
import { patchEvent } from './modules/events';
|
|
4
|
+
import { patchStyle } from './modules/style';
|
|
5
|
+
import { isOn } from '../runtimeHelpers';
|
|
6
|
+
import { getViewMeta } from '../registry';
|
|
6
7
|
export function patchProp(el, key, prevValue, nextValue, isSVG = false, prevChildren, parentComponent, parentSuspense, unmountChildren) {
|
|
7
8
|
switch (key) {
|
|
8
9
|
// special
|
|
9
|
-
case
|
|
10
|
+
case 'class':
|
|
10
11
|
// console.log('->patchProp+Class')
|
|
11
12
|
patchClass(el, nextValue);
|
|
12
13
|
break;
|
|
13
|
-
case
|
|
14
|
+
case 'style':
|
|
14
15
|
// console.log('->patchProp+Style')
|
|
15
16
|
patchStyle(el, prevValue, nextValue);
|
|
16
17
|
break;
|
|
17
|
-
case
|
|
18
|
-
case
|
|
19
|
-
|
|
18
|
+
case 'modelValue':
|
|
19
|
+
case 'onUpdate:modelValue':
|
|
20
|
+
try {
|
|
21
|
+
// v-model - maps modelValue/onUpdate:modelValue to the correct prop/events from the registry meta
|
|
22
|
+
const { prop, event } = getViewMeta(el.tagName)
|
|
23
|
+
.model;
|
|
24
|
+
if (key === 'modelValue') {
|
|
25
|
+
patchAttr(el, prop, prevValue, nextValue);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const cb = nextValue
|
|
29
|
+
? ($event) => nextValue($event.object[prop])
|
|
30
|
+
: nextValue;
|
|
31
|
+
patchEvent(el, `on:${event}`, prevValue, cb);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
// ignore if the view meta can't be found.
|
|
36
|
+
}
|
|
20
37
|
break;
|
|
21
38
|
default:
|
|
22
39
|
if (isOn(key)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patchProp.js","sourceRoot":"","sources":["../../src/renderer/patchProp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"patchProp.js","sourceRoot":"","sources":["../../src/renderer/patchProp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAsB,MAAM,aAAa,CAAC;AAE9D,MAAM,UAAU,SAAS,CACvB,EAAc,EACd,GAAW,EACX,SAAc,EACd,SAAc,EACd,KAAK,GAAG,KAAK,EACb,YAAiB,EACjB,eAAoB,EACpB,cAAmB,EACnB,eAAoB;IAEpB,QAAQ,GAAG,EAAE;QACX,UAAU;QACV,KAAK,OAAO;YACV,mCAAmC;YACnC,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAC1B,MAAM;QACR,KAAK,OAAO;YACV,mCAAmC;YACnC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,YAAY,CAAC;QAClB,KAAK,qBAAqB;YACxB,IAAI;gBACF,kGAAkG;gBAClG,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC;qBAC5C,KAA2B,CAAC;gBAC/B,IAAI,GAAG,KAAK,YAAY,EAAE;oBACxB,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;iBAC3C;qBAAM;oBACL,MAAM,EAAE,GAAG,SAAS;wBAClB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC5C,CAAC,CAAC,SAAS,CAAC;oBACd,UAAU,CAAC,EAAE,EAAE,MAAM,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;iBAC9C;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,0CAA0C;aAC3C;YACD,MAAM;QACR;YACE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;gBACb,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;aAC5D;iBAAM;gBACL,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;aAC1C;KACJ;AACH,CAAC"}
|
package/dist/runtimeHelpers.d.ts
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
|
+
import { View } from '@nativescript/core';
|
|
2
|
+
import { AppContext, Component, RendererElement, RendererNode, VNode } from '@vue/runtime-core';
|
|
3
|
+
import { NSVNode } from './dom';
|
|
4
|
+
type Props = Record<string, unknown>;
|
|
5
|
+
export declare const setRootContext: (context: AppContext) => void;
|
|
6
|
+
export declare const createNativeView: <T = View>(component: Component, props?: Props, contextOverrides?: any) => {
|
|
7
|
+
context: any;
|
|
8
|
+
readonly nativeView: T;
|
|
9
|
+
mount(root?: NSVNode): VNode<RendererNode, RendererElement, {
|
|
10
|
+
nativeView: T;
|
|
11
|
+
}>;
|
|
12
|
+
unmount(): void;
|
|
13
|
+
};
|
|
1
14
|
export declare const ELEMENT_REF: unique symbol;
|
|
2
15
|
export declare const isOn: (key: string) => boolean;
|
|
3
16
|
export declare const isAndroidKey: (key: string) => boolean;
|
|
4
17
|
export declare const isIOSKey: (key: string) => boolean;
|
|
5
18
|
export declare const isBoolean: (value: unknown) => boolean;
|
|
19
|
+
export {};
|
package/dist/runtimeHelpers.js
CHANGED
|
@@ -1,10 +1,48 @@
|
|
|
1
|
+
import { h, } from '@vue/runtime-core';
|
|
2
|
+
import { NSVRoot } from './dom';
|
|
3
|
+
import { renderer } from './renderer';
|
|
1
4
|
const __DEV__ = true;
|
|
5
|
+
let rootContext = null;
|
|
6
|
+
export const setRootContext = (context) => {
|
|
7
|
+
rootContext = context;
|
|
8
|
+
};
|
|
9
|
+
export const createNativeView = (component, props, contextOverrides) => {
|
|
10
|
+
let vnode;
|
|
11
|
+
let isMounted = false;
|
|
12
|
+
let container;
|
|
13
|
+
const context = { ...rootContext, ...contextOverrides };
|
|
14
|
+
return {
|
|
15
|
+
context,
|
|
16
|
+
get nativeView() {
|
|
17
|
+
return vnode.el.nativeView;
|
|
18
|
+
},
|
|
19
|
+
mount(root = new NSVRoot()) {
|
|
20
|
+
if (isMounted) {
|
|
21
|
+
return vnode;
|
|
22
|
+
}
|
|
23
|
+
vnode = h(component, props);
|
|
24
|
+
vnode.appContext = context;
|
|
25
|
+
renderer.render(vnode, root);
|
|
26
|
+
isMounted = true;
|
|
27
|
+
container = root;
|
|
28
|
+
return vnode;
|
|
29
|
+
},
|
|
30
|
+
unmount() {
|
|
31
|
+
if (!isMounted)
|
|
32
|
+
return;
|
|
33
|
+
vnode = null;
|
|
34
|
+
renderer.render(null, container);
|
|
35
|
+
isMounted = false;
|
|
36
|
+
container = null;
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
};
|
|
2
40
|
export const ELEMENT_REF = Symbol(__DEV__ ? `elementRef` : ``);
|
|
3
41
|
const onRE = /^on.+/;
|
|
4
42
|
export const isOn = (key) => onRE.test(key);
|
|
5
|
-
export const isAndroidKey = (key) => key.startsWith(
|
|
6
|
-
export const isIOSKey = (key) => key.startsWith(
|
|
43
|
+
export const isAndroidKey = (key) => key.startsWith('android:');
|
|
44
|
+
export const isIOSKey = (key) => key.startsWith('ios:');
|
|
7
45
|
export const isBoolean = (value) => {
|
|
8
|
-
return typeof value ===
|
|
46
|
+
return typeof value === 'boolean' || value instanceof Boolean;
|
|
9
47
|
};
|
|
10
48
|
//# sourceMappingURL=runtimeHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeHelpers.js","sourceRoot":"","sources":["../src/runtimeHelpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtimeHelpers.js","sourceRoot":"","sources":["../src/runtimeHelpers.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,CAAC,GAIF,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAW,OAAO,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,MAAM,OAAO,GAAG,IAAI,CAAC;AAErB,IAAI,WAAW,GAAe,IAAI,CAAC;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAmB,EAAE,EAAE;IACpD,WAAW,GAAG,OAAO,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,SAAoB,EACpB,KAAa,EACb,gBAAsB,EACtB,EAAE;IACF,IAAI,KAAY,CAAC;IACjB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,SAAkB,CAAC;IACvB,MAAM,OAAO,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAIxD,OAAO;QACL,OAAO;QACP,IAAI,UAAU;YACZ,OAAO,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC;QAC7B,CAAC;QACD,KAAK,CAAC,OAAgB,IAAI,OAAO,EAAE;YACjC,IAAI,SAAS,EAAE;gBACb,OAAO,KAAU,CAAC;aACnB;YAED,KAAK,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAE5B,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;YAE3B,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE7B,SAAS,GAAG,IAAI,CAAC;YACjB,SAAS,GAAG,IAAI,CAAC;YAEjB,OAAO,KAAU,CAAC;QACpB,CAAC;QACD,OAAO;YACL,IAAI,CAAC,SAAS;gBAAE,OAAO;YACvB,KAAK,GAAG,IAAI,CAAC;YACb,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACjC,SAAS,GAAG,KAAK,CAAC;YAClB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE/D,MAAM,IAAI,GAAG,OAAO,CAAC;AACrB,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAW,EAAE;IACnD,OAAO,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,YAAY,OAAO,CAAC;AAChE,CAAC,CAAC"}
|
package/dist/types.d.ts
CHANGED
package/dist/withCompiler.js
CHANGED
package/dist/withCompiler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withCompiler.js","sourceRoot":"","sources":["../src/withCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"withCompiler.js","sourceRoot":"","sources":["../src/withCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;AAE3C,OAAO,EAAE,iBAAiB,IAAI,OAAO,EAAE,CAAC;AACxC,cAAc,SAAS,CAAC"}
|
package/nativescript.webpack.js
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
const { VueLoaderPlugin } = require(
|
|
1
|
+
const { VueLoaderPlugin } = require('vue-loader');
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @param {typeof import("@nativescript/webpack")} webpack
|
|
5
5
|
*/
|
|
6
6
|
module.exports = (webpack) => {
|
|
7
|
-
webpack.useConfig(
|
|
7
|
+
webpack.useConfig('vue');
|
|
8
8
|
|
|
9
9
|
webpack.chainWebpack((config) => {
|
|
10
|
+
// resolve any imports from "vue" to "nativescript-vue"
|
|
10
11
|
config.resolve.alias.set('vue', 'nativescript-vue');
|
|
11
|
-
|
|
12
|
-
config.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
.
|
|
17
|
-
.
|
|
18
|
-
.loader(require.resolve(
|
|
12
|
+
|
|
13
|
+
config.plugins.get('VueLoaderPlugin').use(VueLoaderPlugin);
|
|
14
|
+
|
|
15
|
+
// use "vue-loader" from "nativescript-vue" deps rather than the one from @nativescript/webpack
|
|
16
|
+
config.module.rules
|
|
17
|
+
.get('vue')
|
|
18
|
+
.uses.get('vue-loader')
|
|
19
|
+
.loader(require.resolve('vue-loader'))
|
|
19
20
|
.tap((options) => {
|
|
20
21
|
return {
|
|
21
22
|
...options,
|
|
@@ -27,7 +28,17 @@ module.exports = (webpack) => {
|
|
|
27
28
|
};
|
|
28
29
|
});
|
|
29
30
|
|
|
30
|
-
config.
|
|
31
|
+
config.module.rules
|
|
32
|
+
.get('css')
|
|
33
|
+
.uses.get('vue-css-loader')
|
|
34
|
+
.loader(require.resolve('vue-loader/dist/stylePostLoader.js'));
|
|
35
|
+
|
|
36
|
+
config.module.rules
|
|
37
|
+
.get('scss')
|
|
38
|
+
.uses.get('vue-css-loader')
|
|
39
|
+
.loader(require.resolve('vue-loader/dist/stylePostLoader.js'));
|
|
40
|
+
|
|
41
|
+
config.plugin('DefinePlugin').tap((args) => {
|
|
31
42
|
Object.assign(args[0], {
|
|
32
43
|
__VUE_OPTIONS_API__: true,
|
|
33
44
|
__VUE_PROD_DEVTOOLS__: false,
|
|
@@ -37,7 +48,7 @@ module.exports = (webpack) => {
|
|
|
37
48
|
});
|
|
38
49
|
|
|
39
50
|
// disable vue fork ts checker, as it doesn't work with vue3 yet?
|
|
40
|
-
config.plugin(
|
|
51
|
+
config.plugin('ForkTsCheckerWebpackPlugin').tap((args) => {
|
|
41
52
|
args[0] = webpack.merge(args[0], {
|
|
42
53
|
typescript: {
|
|
43
54
|
extensions: {
|
|
@@ -47,6 +58,7 @@ module.exports = (webpack) => {
|
|
|
47
58
|
},
|
|
48
59
|
},
|
|
49
60
|
});
|
|
61
|
+
|
|
50
62
|
return args;
|
|
51
63
|
});
|
|
52
64
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nativescript-vue",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.7",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/",
|
|
@@ -9,21 +9,36 @@
|
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "tsc",
|
|
12
|
+
"format": "prettier --write .",
|
|
13
|
+
"format:check": "prettier --check .",
|
|
14
|
+
"prepare": "husky install",
|
|
12
15
|
"prepack": "npm run build"
|
|
13
16
|
},
|
|
14
17
|
"dependencies": {
|
|
15
|
-
"@vue/compiler-
|
|
16
|
-
"@vue/runtime-
|
|
17
|
-
"@vue/
|
|
18
|
+
"@vue/compiler-sfc": "^3.2.47",
|
|
19
|
+
"@vue/runtime-core": "^3.2.47",
|
|
20
|
+
"@vue/shared": "^3.2.47",
|
|
18
21
|
"set-value": "^4.1.0",
|
|
19
|
-
"vue-loader": "^17.
|
|
22
|
+
"vue-loader": "^17.1.0"
|
|
20
23
|
},
|
|
21
24
|
"devDependencies": {
|
|
22
|
-
"@
|
|
23
|
-
"@
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
25
|
+
"@commitlint/cli": "^17.6.3",
|
|
26
|
+
"@commitlint/config-conventional": "^17.6.3",
|
|
27
|
+
"@nativescript/core": "~8.5.0",
|
|
28
|
+
"@nativescript/webpack": "~5.0.14",
|
|
29
|
+
"esbuild": "^0.17.19",
|
|
30
|
+
"husky": "^8.0.3",
|
|
31
|
+
"lint-staged": "^13.2.2",
|
|
32
|
+
"prettier": "^2.8.8",
|
|
33
|
+
"typescript": "^4.9.5"
|
|
34
|
+
},
|
|
35
|
+
"lint-staged": {
|
|
36
|
+
"*": [
|
|
37
|
+
"prettier --ignore-unknown --write"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"prettier": {
|
|
41
|
+
"useTabs": false,
|
|
42
|
+
"singleQuote": true
|
|
28
43
|
}
|
|
29
44
|
}
|