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.
Files changed (63) hide show
  1. package/README.md +3 -4
  2. package/dist/compiler.d.ts +1 -1
  3. package/dist/compiler.js +1 -1
  4. package/dist/compiler.js.map +1 -1
  5. package/dist/components/ActionBar.d.ts +1 -1
  6. package/dist/components/ActionBar.js +5 -5
  7. package/dist/components/ListView.d.ts +2 -2
  8. package/dist/components/ListView.js +10 -12
  9. package/dist/components/ListView.js.map +1 -1
  10. package/dist/components/index.d.ts +6 -2
  11. package/dist/components/index.js +3 -2
  12. package/dist/components/index.js.map +1 -1
  13. package/dist/directives/vModel.d.ts +8 -0
  14. package/dist/directives/vModel.js +38 -0
  15. package/dist/directives/vModel.js.map +1 -0
  16. package/dist/directives/vShow.d.ts +2 -2
  17. package/dist/directives/vShow.js +4 -4
  18. package/dist/dom/index.d.ts +1 -1
  19. package/dist/dom/index.js +7 -6
  20. package/dist/dom/index.js.map +1 -1
  21. package/dist/index.d.ts +13 -12
  22. package/dist/index.js +22 -31
  23. package/dist/index.js.map +1 -1
  24. package/dist/nativescript/elements.js +54 -54
  25. package/dist/nativescript/index.d.ts +3 -3
  26. package/dist/nativescript/index.js +3 -3
  27. package/dist/plugins/modals.d.ts +9 -5
  28. package/dist/plugins/modals.js +50 -32
  29. package/dist/plugins/modals.js.map +1 -1
  30. package/dist/plugins/navigation.d.ts +7 -7
  31. package/dist/plugins/navigation.js +59 -78
  32. package/dist/plugins/navigation.js.map +1 -1
  33. package/dist/plugins/templates.d.ts +10 -0
  34. package/dist/plugins/templates.js +12 -0
  35. package/dist/plugins/templates.js.map +1 -0
  36. package/dist/registry/index.d.ts +3 -3
  37. package/dist/registry/index.js +2 -2
  38. package/dist/registry/index.js.map +1 -1
  39. package/dist/renderer/index.js +3 -3
  40. package/dist/renderer/modules/attrs.d.ts +1 -1
  41. package/dist/renderer/modules/attrs.js +3 -3
  42. package/dist/renderer/modules/class.d.ts +1 -1
  43. package/dist/renderer/modules/class.js +2 -2
  44. package/dist/renderer/modules/events.d.ts +3 -3
  45. package/dist/renderer/modules/events.js +3 -3
  46. package/dist/renderer/modules/events.js.map +1 -1
  47. package/dist/renderer/modules/style.d.ts +2 -2
  48. package/dist/renderer/modules/style.js +28 -8
  49. package/dist/renderer/modules/style.js.map +1 -1
  50. package/dist/renderer/nodeOps.d.ts +3 -2
  51. package/dist/renderer/nodeOps.js +7 -4
  52. package/dist/renderer/nodeOps.js.map +1 -1
  53. package/dist/renderer/patchProp.d.ts +1 -1
  54. package/dist/renderer/patchProp.js +27 -10
  55. package/dist/renderer/patchProp.js.map +1 -1
  56. package/dist/runtimeHelpers.d.ts +14 -0
  57. package/dist/runtimeHelpers.js +41 -3
  58. package/dist/runtimeHelpers.js.map +1 -1
  59. package/dist/types.d.ts +1 -1
  60. package/dist/withCompiler.js +1 -1
  61. package/dist/withCompiler.js.map +1 -1
  62. package/nativescript.webpack.js +24 -12
  63. package/package.json +26 -11
@@ -1,6 +1,6 @@
1
- import { NSVElement, NSVViewFlags } from "../dom";
2
- export declare type NSVElementResolver = () => any;
3
- export declare type NSVModelDescriptor = {
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
  };
@@ -1,5 +1,5 @@
1
1
  export let defaultViewMeta = {
2
- viewFlags: 0 // NSVViewFlags.NONE, // tsx can't resolve NSVViewFlags here?
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, "").toLowerCase();
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,CAAC,6DAA6D;CAC3E,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"}
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"}
@@ -1,6 +1,6 @@
1
- import { createRenderer } from "@vue/runtime-core";
2
- import { patchProp } from "./patchProp";
3
- import { nodeOps } from "./nodeOps";
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 "../../dom";
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 "../../runtimeHelpers";
2
- import { isAndroid, isIOS } from "../../nativescript";
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 "../../dom";
1
+ import { NSVElement } from '../../dom';
2
2
  export declare function patchClass(el: NSVElement, value: string | null): void;
@@ -2,8 +2,8 @@
2
2
  // into a single binding ['staticClass', dynamic]
3
3
  export function patchClass(el, value) {
4
4
  if (value == null) {
5
- value = "";
5
+ value = '';
6
6
  }
7
- el.setAttribute("class", value);
7
+ el.setAttribute('class', value);
8
8
  }
9
9
  //# sourceMappingURL=class.js.map
@@ -1,9 +1,9 @@
1
- import { NSVElement } from "../../dom";
2
- import { ComponentInternalInstance } from "@vue/runtime-core";
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
- declare type EventValue = Function | Function[];
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 "@vue/runtime-core";
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("on:") ? 3 : 2);
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":"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"}
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 "../../dom";
2
- declare type Style = string | null;
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 (typeof style === "string" && style?.trim().charAt(0) === "{") {
6
- return JSON.parse(style);
6
+ if (isString(style)) {
7
+ if (style.trim().charAt(0) === '{') {
8
+ return JSON.parse(style);
9
+ }
10
+ return parseStringStyle(style);
7
11
  }
8
- return style;
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("Align")) {
23
+ if (property.endsWith('Align')) {
12
24
  // NativeScript uses Alignment instead of Align, this ensures that text-align works
13
- property += "ment";
25
+ property += 'ment';
14
26
  }
15
27
  return property;
16
28
  }
17
- export const STYLE_ORIGINAL_VALUE = Symbol("style_original_value");
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
- el.style[property] = originalValue;
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("style");
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":"AAKA,SAAS,cAAc,CAAC,KAA8B;IACpD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC1B;IAED,OAAO,KAAwB,CAAC;AAClC,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC9B,mFAAmF;QACnF,QAAQ,IAAI,MAAM,CAAC;KACpB;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAEnE,SAAS,gBAAgB,CAAC,EAAc,EAAE,QAAgB,EAAE,KAAU;IACpE,MAAM,IAAI,GACR,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;IACrE,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACvB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;KACxC;IAED,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;AAC7B,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAc,EAAE,QAAgB;IAC3D,MAAM,IAAI,GACR,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;IACrE,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEvC,8BAA8B;IAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACtB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtB,kFAAkF;QAClF,6EAA6E;QAC7E,6EAA6E;QAC7E,iEAAiE;QACjE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC;KACpC;AACH,CAAC;AAED,iJAAiJ;AACjJ,MAAM,UAAU,UAAU,CAAC,EAAc,EAAE,IAAW,EAAE,IAAW;IACjE,IAAI,IAAI,EAAE;QACR,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACnC,kBAAkB;QAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,IAAI,EAAE;QACT,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;KAC7B;SAAM;QACL,iBAAiB;QACjB,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;KACJ;AACH,CAAC"}
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 "@vue/runtime-dom";
2
- import { NSVElement, NSVNode } from "../dom";
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'>;
@@ -1,4 +1,4 @@
1
- import { NSVComment, NSVElement, NSVText } from "../dom";
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("CLONE NODE");
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("insert static content - not implemented.");
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;IACnB,mBAAmB;IACnB,gBAAgB;CACjB,CAAC"}
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 "../dom";
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 "./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";
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 "class":
10
+ case 'class':
10
11
  // console.log('->patchProp+Class')
11
12
  patchClass(el, nextValue);
12
13
  break;
13
- case "style":
14
+ case 'style':
14
15
  // console.log('->patchProp+Style')
15
16
  patchStyle(el, prevValue, nextValue);
16
17
  break;
17
- case "modelValue":
18
- case "onUpdate:modelValue":
19
- // handled by v-model directive
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;AAEzC,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,+BAA+B;YAC/B,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"}
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"}
@@ -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 {};
@@ -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("android:");
6
- export const isIOSKey = (key) => key.startsWith("ios:");
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 === "boolean" || value instanceof Boolean;
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":"AAAA,MAAM,OAAO,GAAG,IAAI,CAAC;AAGrB,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"}
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
@@ -1,4 +1,4 @@
1
- declare module "@vue/runtime-core" {
1
+ declare module '@vue/runtime-core' {
2
2
  interface GlobalComponents {
3
3
  Frame: DefineComponent<{}>;
4
4
  Page: DefineComponent;
@@ -1,4 +1,4 @@
1
- import { registerRuntimeCompiler } from "./";
1
+ import { registerRuntimeCompiler } from "@vue/runtime-core";
2
2
  import { compileToFunction } from "./compiler";
3
3
  registerRuntimeCompiler(compileToFunction);
4
4
  export { compileToFunction as compile };
@@ -1 +1 @@
1
- {"version":3,"file":"withCompiler.js","sourceRoot":"","sources":["../src/withCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;AAE3C,OAAO,EAAE,iBAAiB,IAAI,OAAO,EAAE,CAAA;AACvC,cAAc,SAAS,CAAC"}
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"}
@@ -1,21 +1,22 @@
1
- const { VueLoaderPlugin } = require("vue-loader");
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("vue");
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.plugin("VueLoaderPlugin").use(VueLoaderPlugin);
13
-
14
- config.module
15
- .rule("vue")
16
- .test(/\.vue$/)
17
- .use("vue-loader")
18
- .loader(require.resolve("vue-loader"))
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.plugin("DefinePlugin").tap((args) => {
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("ForkTsCheckerWebpackPlugin").tap((args) => {
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.5",
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-dom": "^3.2.41",
16
- "@vue/runtime-dom": "^3.2.41",
17
- "@vue/compiler-sfc": "^3.2.41",
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.0.0"
22
+ "vue-loader": "^17.1.0"
20
23
  },
21
24
  "devDependencies": {
22
- "@nativescript/core": "^8.3.5",
23
- "@nativescript/webpack": "~5.0.12",
24
- "esbuild": "^0.15.12",
25
- "tsx": "^3.11.0",
26
- "typescript": "^4.8.4",
27
- "vue": "^3.2.41"
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
  }