diff --git a/demo/App_Resources/iOS/Podfile b/demo/App_Resources/iOS/Podfile new file mode 100644 index 00000000..1199116a --- /dev/null +++ b/demo/App_Resources/iOS/Podfile @@ -0,0 +1,7 @@ +post_install do |installer| + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + config.build_settings["IPHONEOS_DEPLOYMENT_TARGET"] = "11.0" + end + end + end \ No newline at end of file diff --git a/demo/app/examples/BarChart.ts b/demo/app/examples/BarChart.ts index 1683def9..c3b7b52d 100644 --- a/demo/app/examples/BarChart.ts +++ b/demo/app/examples/BarChart.ts @@ -29,11 +29,11 @@ export function onNavigatedTo(args) { export function onChartLoaded(args) { const chart = args.object as BarChart; - chart.drawFameRate = true; + chart.drawFrameRate = true; // chart.setLogEnabled(true); chart.setScaleEnabled(true); chart.setDragEnabled(true); - chart.getAxisRight().setEnabled(false); + // chart.getAxisRight().setEnabled(false); chart.setHighlightPerTapEnabled(true); // chart.setHardwareAccelerationEnabled(true); diff --git a/demo/app/examples/BubbleChart.ts b/demo/app/examples/BubbleChart.ts index 69a6456c..62677417 100644 --- a/demo/app/examples/BubbleChart.ts +++ b/demo/app/examples/BubbleChart.ts @@ -22,7 +22,7 @@ export function onNavigatedTo(args) { export function onChartLoaded(args) { const chart = args.object as BubbleChart; - chart.drawFameRate = true; + chart.drawFrameRate = true; // chart.setLogEnabled(true); chart.setScaleEnabled(true); chart.setDragEnabled(true); diff --git a/demo/app/examples/CandleStickChart.ts b/demo/app/examples/CandleStickChart.ts index 7193046a..842dc01c 100644 --- a/demo/app/examples/CandleStickChart.ts +++ b/demo/app/examples/CandleStickChart.ts @@ -23,7 +23,7 @@ export function onNavigatedTo(args) { export function onChartLoaded(args) { const chart = args.object as CandleStickChart; - chart.drawFameRate = true; + chart.drawFrameRate = true; // chart.setLogEnabled(true); chart.setScaleEnabled(true); chart.setDragEnabled(true); diff --git a/demo/app/examples/HorizontalBarChart.ts b/demo/app/examples/HorizontalBarChart.ts index ef11ac77..d23c6ddf 100644 --- a/demo/app/examples/HorizontalBarChart.ts +++ b/demo/app/examples/HorizontalBarChart.ts @@ -22,11 +22,10 @@ export function onNavigatedTo(args) { export function onChartLoaded(args) { const chart = args.object as BarChart; - chart.drawFameRate = true; + chart.drawFrameRate = true; // chart.setLogEnabled(true); chart.setScaleEnabled(true); chart.setDragEnabled(true); - chart.getAxisRight().setEnabled(false); chart.setHighlightPerTapEnabled(true); // chart.setHardwareAccelerationEnabled(true); diff --git a/demo/app/examples/LineChart.ts b/demo/app/examples/LineChart.ts index adafadce..a80cf300 100644 --- a/demo/app/examples/LineChart.ts +++ b/demo/app/examples/LineChart.ts @@ -22,7 +22,7 @@ export function onNavigatedTo(args) { export function onChartLoaded(args) { const chart = args.object as LineChart; - chart.drawFameRate = true; + chart.drawFrameRate = true; // chart.setLogEnabled(true); chart.setScaleEnabled(true); chart.setDragEnabled(true); diff --git a/demo/app/examples/PieChart.ts b/demo/app/examples/PieChart.ts index 8101c1ad..b836f108 100644 --- a/demo/app/examples/PieChart.ts +++ b/demo/app/examples/PieChart.ts @@ -22,8 +22,7 @@ export function onNavigatedTo(args) { export function onChartLoaded(args) { const chart = args.object as PieChart; - chart.drawFameRate = true; - chart.setLogEnabled(true); + chart.drawFrameRate = true; chart.setHighlightPerTapEnabled(true); //chart.setHoleRadius(10); //chart.setDrawHoleEnabled(false); diff --git a/demo/app/examples/RadarChart.ts b/demo/app/examples/RadarChart.ts index 7d6de752..54b619f9 100644 --- a/demo/app/examples/RadarChart.ts +++ b/demo/app/examples/RadarChart.ts @@ -22,8 +22,7 @@ export function onNavigatedTo(args) { export function onChartLoaded(args) { const chart = args.object as RadarChart; - chart.drawFameRate = true; - chart.setLogEnabled(true); + chart.drawFrameRate = true; // chart.setDrawWeb(false); // chart.setHardwareAccelerationEnabled(true); diff --git a/demo/app/examples/RealTime.ts b/demo/app/examples/RealTime.ts index ae3bc0c3..d1845e0c 100644 --- a/demo/app/examples/RealTime.ts +++ b/demo/app/examples/RealTime.ts @@ -76,7 +76,7 @@ export function onNavigatedTo(args) { export function onChartLoaded(args) { const chart = args.object as LineChart; - chart.drawFameRate = true; + chart.drawFrameRate = true; chart.backgroundColor = 'white'; // enable touch gestures diff --git a/demo/app/examples/ScatterChart.ts b/demo/app/examples/ScatterChart.ts index 39ed3879..04383729 100644 --- a/demo/app/examples/ScatterChart.ts +++ b/demo/app/examples/ScatterChart.ts @@ -24,7 +24,7 @@ export function onNavigatedTo(args) { export function onChartLoaded(args) { const chart = args.object as ScatterChart; - chart.drawFameRate = true; + chart.drawFrameRate = true; chart.setDrawGridBackground(false); chart.setTouchEnabled(true); diff --git a/demo/nativescript.config.ts b/demo/nativescript.config.ts index 86b1a090..f67ebb80 100644 --- a/demo/nativescript.config.ts +++ b/demo/nativescript.config.ts @@ -3,7 +3,6 @@ import { NativeScriptConfig } from '@nativescript/core'; export default { id: 'com.akylas.nativescript.chartdemo', appResourcesPath: 'App_Resources', - webpackConfigPath: 'app.webpack.config.js', android: { v8Flags: '--expose_gc', markingMode: 'none', diff --git a/demo/package.json b/demo/package.json index aae79eba..55e99fa3 100644 --- a/demo/package.json +++ b/demo/package.json @@ -1,21 +1,23 @@ { - "name": "chartdemo", - "main": "app", - "version": "7.0.1", + "main": "app/app.ts", "author": "Martin Guillon ", "description": "A native application built with NativeScript-Core JS", "license": "MIT", "dependencies": { - "@nativescript/core": "~7.0.11", - "@nativescript/theme": "~3.0.0", - "@nativescript-community/ui-chart": "file:../plugin", - "nativescript-perms": "^2.0.11" + "@nativescript-community/gesturehandler": "2.0.23", + "@nativescript-community/ui-canvas": "4.6.12", + "@nativescript-community/ui-chart": "portal:../plugin", + "@nativescript/core": "~8.6.2", + "@nativescript/theme": "~3.0.2" }, "devDependencies": { - "@nativescript/android": "7.0.0", - "@nativescript/ios": "7.0.0", - "@nativescript/types": "~7.0.4", - "@nativescript/webpack": "~3.0.5", - "typescript": "^3.9.7" + "@nativescript/android": "8.6.2", + "@nativescript/ios": "8.6.3", + "@nativescript/types": "~8.6.1", + "@nativescript/webpack": "~5.0.18", + "typescript": "^5.3.3" + }, + "resolutions": { + "@nativescript-community/ui-canvas": "portal:/Volumes/dev/nativescript/ui-canvas/packages/ui-canvas" } -} \ No newline at end of file +} diff --git a/demo/tsconfig.json b/demo/tsconfig.json index bc35cc77..8d887565 100644 --- a/demo/tsconfig.json +++ b/demo/tsconfig.json @@ -1,27 +1,21 @@ { "compilerOptions": { - "module": "esnext", - "target": "es2017", - "moduleResolution": "node", - "experimentalDecorators": true, - "emitDecoratorMetadata": true, - "noEmitHelpers": true, - "noEmitOnError": true, - "skipLibCheck": true, - "lib": [ - "es2017", - "dom", - "es6" - ], - "baseUrl": ".", - "paths": { - "~/*": [ - "app/*" - ] - } + "module": "esnext", + "target": "ES2020", + "moduleResolution": "node", + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "noEmitHelpers": true, + "noEmitOnError": true, + "skipLibCheck": true, + "lib": ["ESNext", "dom"], + "baseUrl": ".", + "paths": { + "~/*": ["app/*"], + "@/*": ["app/*"] + } }, - "exclude": [ - "node_modules", - "platforms" - ] -} \ No newline at end of file + "include": ["app/**/*"], + "files": ["./references.d.ts"], + "exclude": ["node_modules", "platforms"] + } \ No newline at end of file diff --git a/demo/webpack.config.js b/demo/webpack.config.js index bde3a35b..ab33af1d 100644 --- a/demo/webpack.config.js +++ b/demo/webpack.config.js @@ -1,340 +1,27 @@ -const { join, relative, resolve, sep } = require("path"); -const fs = require('fs'); - -const webpack = require("webpack"); -const nsWebpack = require("@nativescript/webpack"); -const nativescriptTarget = require("@nativescript/webpack/nativescript-target"); -const { getNoEmitOnErrorFromTSConfig } = require("@nativescript/webpack/utils/tsconfig-utils"); -const { CleanWebpackPlugin } = require("clean-webpack-plugin"); -const CopyWebpackPlugin = require("copy-webpack-plugin"); -const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); -const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer"); -const { NativeScriptWorkerPlugin } = require("nativescript-worker-loader/NativeScriptWorkerPlugin"); -const TerserPlugin = require("terser-webpack-plugin"); -const hashSalt = Date.now().toString(); - -module.exports = env => { - // Add your custom Activities, Services and other Android app components here. - const appComponents = env.appComponents || []; - appComponents.push(...[ - "@nativescript/core/ui/frame", - "@nativescript/core/ui/frame/activity", - ]); - - const platform = env && (env.android && "android" || env.ios && "ios" || env.platform); - if (!platform) { - throw new Error("You need to provide a target platform!"); - } - - const platforms = ["ios", "android"]; - const projectRoot = __dirname; - - if (env.platform) { - platforms.push(env.platform); - } - - // Default destination inside platforms//... - const dist = resolve(projectRoot, nsWebpack.getAppPath(platform, projectRoot)); - - const { - // The 'appPath' and 'appResourcesPath' values are fetched from - // the nsconfig.json configuration file. - appPath = "src", - appResourcesPath = "App_Resources", - - // You can provide the following flags when running 'tns run android|ios' - snapshot, // --env.snapshot - production, // --env.production - uglify, // --env.uglify - report, // --env.report - sourceMap, // --env.sourceMap - hiddenSourceMap, // --env.hiddenSourceMap - hmr, // --env.hmr, - unitTesting, // --env.unitTesting, - testing, // --env.testing - verbose, // --env.verbose - snapshotInDocker, // --env.snapshotInDocker - skipSnapshotTools, // --env.skipSnapshotTools - compileSnapshot // --env.compileSnapshot - } = env; - - const useLibs = compileSnapshot; - const isAnySourceMapEnabled = !!sourceMap || !!hiddenSourceMap; - const externals = nsWebpack.getConvertedExternals(env.externals); - - let appFullPath = resolve(projectRoot, appPath); - if (!fs.existsSync(appFullPath)) { - // some apps use 'app' directory - appFullPath = resolve(projectRoot, 'app'); - } - const hasRootLevelScopedModules = nsWebpack.hasRootLevelScopedModules({ projectDir: projectRoot }); - let coreModulesPackageName = "tns-core-modules"; - const alias = env.alias || {}; - alias['~/package.json'] = resolve(projectRoot, 'package.json'); - alias['~'] = appFullPath; - - if (hasRootLevelScopedModules) { - coreModulesPackageName = "@nativescript/core"; - alias["tns-core-modules"] = coreModulesPackageName; - } - const appResourcesFullPath = resolve(projectRoot, appResourcesPath); - - const copyIgnore = { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }; - - const entryModule = nsWebpack.getEntryModule(appFullPath, platform); - const entryPath = `.${sep}${entryModule}.ts`; - const entries = env.entries || {}; - entries.bundle = entryPath; - - const tsConfigPath = resolve(projectRoot, "tsconfig.json"); - - const areCoreModulesExternal = Array.isArray(env.externals) && env.externals.some(e => e.indexOf("@nativescript") > -1); - if (platform === "ios" && !areCoreModulesExternal && !testing) { - entries["tns_modules/@nativescript/core/inspector_modules"] = "inspector_modules"; - }; - - let sourceMapFilename = nsWebpack.getSourceMapFilename(hiddenSourceMap, __dirname, dist); - - const itemsToClean = [`${dist}/**/*`]; - if (platform === "android") { - itemsToClean.push(`${join(projectRoot, "platforms", "android", "app", "src", "main", "assets", "snapshots")}`); - itemsToClean.push(`${join(projectRoot, "platforms", "android", "app", "build", "configurations", "nativescript-android-snapshot")}`); - } - - const noEmitOnErrorFromTSConfig = getNoEmitOnErrorFromTSConfig(tsConfigPath); - - nsWebpack.processAppComponents(appComponents, platform); - const config = { - mode: production ? "production" : "development", - context: appFullPath, - externals, - watchOptions: { - ignored: [ - appResourcesFullPath, - // Don't watch hidden files - "**/.*", - ] - }, - target: nativescriptTarget, - entry: entries, - output: { - pathinfo: false, - path: dist, - sourceMapFilename, - libraryTarget: "commonjs2", - filename: "[name].js", - globalObject: "global", - hashSalt - }, - resolve: { - extensions: [".ts", ".js", ".scss", ".css"], - // Resolve {N} system modules from @nativescript/core - modules: [ - resolve(__dirname, `node_modules/${coreModulesPackageName}`), - resolve(__dirname, "node_modules"), - `node_modules/${coreModulesPackageName}`, - "node_modules", - ], - alias, - // resolve symlinks to symlinked modules - symlinks: true - }, - resolveLoader: { - // don't resolve symlinks to symlinked loaders - symlinks: false - }, - node: { - // Disable node shims that conflict with NativeScript - "http": false, - "timers": false, - "setImmediate": false, - "fs": "empty", - "__dirname": false, - }, - devtool: hiddenSourceMap ? "hidden-source-map" : (sourceMap ? "inline-source-map" : "none"), - optimization: { - runtimeChunk: "single", - noEmitOnErrors: noEmitOnErrorFromTSConfig, - splitChunks: { - cacheGroups: { - vendor: { - name: "vendor", - chunks: "all", - test: (module, chunks) => { - const moduleName = module.nameForCondition ? module.nameForCondition() : ''; - return /[\\/]node_modules[\\/]/.test(moduleName) || - appComponents.some(comp => comp === moduleName); - - }, - enforce: true, - }, - } - }, - minimize: !!uglify, - minimizer: [ - new TerserPlugin({ - parallel: true, - cache: true, - sourceMap: isAnySourceMapEnabled, - terserOptions: { - output: { - comments: false, - semicolons: !isAnySourceMapEnabled - }, - compress: { - // The Android SBG has problems parsing the output - // when these options are enabled - 'collapse_vars': platform !== "android", - sequences: platform !== "android", - } - } +const webpack = require('@nativescript/webpack'); +module.exports = (env) => { + webpack.init(env); + webpack.chainWebpack((config, env) => { + // turns out this isn't enough now. svelte uses "node" of which "electron-main" is a subset in its export map forcing imports + // for 'svelte' to 'ssr.mjs'. We define an alias here to force it back. + config.resolve.alias.set('svelte$', 'svelte/internal'); + + config.when(env.production, (config) => { + config.module + .rule('svelte') + .use('string-replace-loader') + .loader('string-replace-loader') + .before('svelte-loader') + .options({ + search: 'createElementNS\\("https:\\/\\/svelte\\.dev\\/docs#svelte_options"', + replace: 'createElementNS(svN', + flags: 'gm' }) - ], - }, - module: { - rules: [ - { - include: join(appFullPath, entryPath), - use: [ - // Require all Android app components - platform === "android" && { - loader: "@nativescript/webpack/helpers/android-app-components-loader", - options: { modules: appComponents } - }, - - { - loader: "@nativescript/webpack/bundle-config-loader", - options: { - loadCss: !snapshot, // load the application css if in debug mode - unitTesting, - appFullPath, - projectRoot, - ignoredFiles: nsWebpack.getUserDefinedEntries(entries, platform) - } - }, - ].filter(loader => !!loader) - }, - - { - test: /\.(ts|css|scss|html|xml)$/, - use: "@nativescript/webpack/hmr/hot-loader" - }, - - { test: /\.(html|xml)$/, use: "@nativescript/webpack/helpers/xml-namespace-loader" }, - - { - test: /\.css$/, - use: "@nativescript/webpack/helpers/css2json-loader" - }, - - { - test: /\.scss$/, - use: [ - "@nativescript/webpack/helpers/css2json-loader", - "sass-loader" - ] - }, - - { - test: /\.ts$/, - use: { - loader: "ts-loader", - options: { - configFile: tsConfigPath, - // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#faster-builds - // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#hot-module-replacement - transpileOnly: true, - allowTsInNodeModules: true, - compilerOptions: { - sourceMap: isAnySourceMapEnabled, - declaration: false - }, - getCustomTransformers: (program) => ({ - before: [ - require("@nativescript/webpack/transformers/ns-transform-native-classes").default - ] - }) - }, - } - }, - ] - }, - plugins: [ - // Define useful constants like TNS_WEBPACK - new webpack.DefinePlugin({ - "global.TNS_WEBPACK": "true", - "global.isAndroid": platform === 'android', - "global.isIOS": platform === 'ios', - "process": "global.process", - }), - // Remove all files from the out dir. - new CleanWebpackPlugin({ - cleanOnceBeforeBuildPatterns: itemsToClean, - verbose: !!verbose - }), - // Copy assets - new CopyWebpackPlugin({ - patterns: [ - { from: 'assets/**', noErrorOnMissing: true, globOptions: { dot: false, ...copyIgnore } }, - { from: 'fonts/**', noErrorOnMissing: true, globOptions: { dot: false, ...copyIgnore } }, - { from: '**/*.jpg', noErrorOnMissing: true, globOptions: { dot: false, ...copyIgnore } }, - { from: '**/*.png', noErrorOnMissing: true, globOptions: { dot: false, ...copyIgnore } }, - ], - }), - new nsWebpack.GenerateNativeScriptEntryPointsPlugin("bundle"), - // For instructions on how to set up workers with webpack - // check out https://github.com/nativescript/worker-loader - new NativeScriptWorkerPlugin(), - new nsWebpack.PlatformFSPlugin({ - platform, - platforms, - }), - // Does IPC communication with the {N} CLI to notify events when running in watch mode. - new nsWebpack.WatchStateLoggerPlugin(), - // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#faster-builds - // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#hot-module-replacement - new ForkTsCheckerWebpackPlugin({ - async: false, - typescript: { - configFile: tsConfigPath, - memoryLimit: 4096, - diagnosticOptions: { - syntactic: true, - semantic: true - } - } - }) - ], - }; - - if (report) { - // Generate report files for bundles content - config.plugins.push(new BundleAnalyzerPlugin({ - analyzerMode: "static", - openAnalyzer: false, - generateStatsFile: true, - reportFilename: resolve(projectRoot, "report", `report.html`), - statsFilename: resolve(projectRoot, "report", `stats.json`), - })); - } - - if (snapshot) { - config.plugins.push(new nsWebpack.NativeScriptSnapshotPlugin({ - chunk: "vendor", - requireModules: [ - "@nativescript/core/bundle-entry-points", - ], - projectRoot, - webpackConfig: config, - snapshotInDocker, - skipSnapshotTools, - useLibs - })); - } - - if (hmr) { - config.plugins.push(new webpack.HotModuleReplacementPlugin()); - } + .end(); + }); - return config; + return config; + }); + // return webpack.resolveChainableConfig(); + return webpack.resolveConfig(); }; diff --git a/demo_vue/App_Resources/iOS/Podfile b/demo_vue/App_Resources/iOS/Podfile new file mode 100644 index 00000000..9be2bef3 --- /dev/null +++ b/demo_vue/App_Resources/iOS/Podfile @@ -0,0 +1,14 @@ +platform :ios, '12.0' +post_install do |installer| + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + if config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] == '8.0' + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0' + end + config.build_settings['SWIFT_VERSION'] = '5.1' + config.build_settings['DEVELOPMENT_TEAM'] = '3UUB5NM43K' + config.build_settings['GCC_WARN_INHIBIT_ALL_WARNINGS'] = 'YES' + config.build_settings['OTHER_SWIFT_FLAGS'] = '-DSUPPRESS_WARNINGS' + end + end +end \ No newline at end of file diff --git a/demo_vue/App_Resources/iOS/build.xcconfig b/demo_vue/App_Resources/iOS/build.xcconfig index e77e78db..af64267f 100644 --- a/demo_vue/App_Resources/iOS/build.xcconfig +++ b/demo_vue/App_Resources/iOS/build.xcconfig @@ -4,3 +4,9 @@ // To build for device with Xcode 8 you need to specify your development team. More info: https://developer.apple.com/library/prerelease/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html // DEVELOPMENT_TEAM = YOUR_TEAM_ID; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; +DEVELOPMENT_TEAM = 3UUB5NM43K +EMBEDDED_CONTENT_CONTAINS_SWIFT = YES +SWIFT_VERSION=5.1 +IPHONEOS_DEPLOYMENT_TARGET = 12.0 +GCC_WARN_INHIBIT_ALL_WARNINGS = YES +OTHER_SWIFT_FLAGS= -DSUPPRESS_WARNINGS diff --git a/demo_vue/app/App.vue b/demo_vue/app/App.vue index e51ffa64..1aa5ad72 100644 --- a/demo_vue/app/App.vue +++ b/demo_vue/app/App.vue @@ -2,10 +2,10 @@ - + - - @@ -17,22 +17,24 @@ import BaseVueComponent from './BaseVueComponent'; import Component from 'vue-class-component'; import { getExamples } from './examples'; -import { GC } from '@nativescript/core/utils/utils'; @Component({}) export default class App extends BaseVueComponent { onNavigatedTo() { console.log('app', 'onNavigatedTo'); - GC(); } get examples() { return getExamples(); } - goToExample({ item }) { - this.$navigateTo(item.component, { - props:{title: item.title} - }); + async goToExample(example) { + try { + await this.$navigateTo(example.component, { + props:{title: example.title} + }); + } catch (error) { + console.error(error, error.stack) + } } // onItemTap(item) { // const module = require(`./examples/${item.component}.vue`).default; diff --git a/demo_vue/package.json b/demo_vue/package.json index a0a59c2e..8dfd866c 100644 --- a/demo_vue/package.json +++ b/demo_vue/package.json @@ -7,11 +7,12 @@ "author": "Martin Guillon ", "license": "MIT", "dependencies": { - "@nativescript-community/arraybuffers": "^1.1.3", - "@nativescript-community/ui-canvas": "^4.5.1", - "@nativescript-community/ui-chart": "link:../plugin", - "@nativescript-community/ui-svg": "^0.1.11", - "@nativescript/core": "~8.5.9", + "@nativescript-community/arraybuffers": "^1.1.5", + "@nativescript-community/gesturehandler": "2.0.23", + "@nativescript-community/ui-canvas": "^4.6.12", + "@nativescript-community/ui-chart": "portal:../plugin", + "@nativescript-community/ui-svg": "^0.1.24", + "@nativescript/core": "~8.6.2", "@nativescript/theme": "~3.0.2", "nativescript-perms": "^2.0.11", "nativescript-vue": "~2.9.3" @@ -19,15 +20,15 @@ "devDependencies": { "@babel/core": "~7.22.11", "@babel/preset-env": "~7.22.10", - "@nativescript/android": "8.5.1", - "@nativescript/ios": "8.2.3", - "@nativescript/types": "^8.2.0", - "@nativescript/webpack": "5.0.17", + "@nativescript/android": "8.6.2", + "@nativescript/ios": "8.6.3", + "@nativescript/types": "^8.6.1", + "@nativescript/webpack": "5.0.18", "babel-loader": "~9.1.3", "nativescript-vue-template-compiler": "~2.9.3", "sass": "^1.66.1", "typescript": "4.8.4", - "vue": "^2.7.14", + "vue": "^2.7.16", "vue-class-component": "^7.2.6", "vue-loader": "~15.9.8" }