diff --git a/demo-angular/app/package.json b/demo-angular/app/package.json index a8a1e03..83cac3e 100644 --- a/demo-angular/app/package.json +++ b/demo-angular/app/package.json @@ -3,7 +3,5 @@ "v8Flags": "--expose_gc", "requireModules": ["nativescript-imagepicker"] }, - "main": "main.js", - "name": "tns-template-hello-world", - "version": "3.1.0" + "main": "main.js" } diff --git a/demo-angular/package.json b/demo-angular/package.json index 2d40c91..9311d14 100644 --- a/demo-angular/package.json +++ b/demo-angular/package.json @@ -2,10 +2,10 @@ "nativescript": { "id": "org.nativescript.imagepickerdemoangular", "tns-ios": { - "version": "5.3.0" + "version": "5.4.0" }, "tns-android": { - "version": "5.3.0" + "version": "5.4.0" } }, "dependencies": { @@ -32,7 +32,7 @@ "karma-nativescript-launcher": "^0.4.0", "nativescript-css-loader": "~0.26.0", "nativescript-dev-typescript": "~0.9.0", - "nativescript-dev-webpack": "~0.21.0", + "nativescript-dev-webpack": "~0.22.0", "tns-platform-declarations": "^5.0.0", "tslint": "~5.11.0", "zone.js": "^0.8.4" diff --git a/demo-vue/.gitignore b/demo-vue/.gitignore index 0cdaa5c..a9e686d 100644 --- a/demo-vue/.gitignore +++ b/demo-vue/.gitignore @@ -6,7 +6,6 @@ platforms/ # NativeScript Template *.js.map -!webpack.config.js *.css # Logs diff --git a/demo-vue/package.json b/demo-vue/package.json index cb47180..a9b421c 100644 --- a/demo-vue/package.json +++ b/demo-vue/package.json @@ -2,16 +2,16 @@ "nativescript": { "id": "org.nativescript.demovue", "tns-android": { - "version": "5.3.0" + "version": "5.4.0" }, "tns-ios": { - "version": "5.3.0" + "version": "5.4.0" } }, "dependencies": { "nativescript-imagepicker": "../src", "nativescript-theme-core": "~1.0.4", - "nativescript-vue": "^2.0.0", + "nativescript-vue": "~2.2.0", "tns-core-modules": "^5.0.0" }, "devDependencies": { @@ -27,10 +27,10 @@ "mocha-junit-reporter": "^1.18.0", "mocha-multi": "^1.0.1", "mochawesome": "^3.1.1", - "nativescript-dev-appium": "^4.0.9", - "nativescript-dev-webpack": "~0.21.0", + "nativescript-dev-appium": "~5.2.0", + "nativescript-dev-webpack": "~0.22.0", "nativescript-dev-typescript": "~0.9.0", - "nativescript-vue-template-compiler": "^2.0.0", + "nativescript-vue-template-compiler": "~2.2.0", "node-sass": "~4.9.0", "vue-loader": "~15.4.0" }, diff --git a/demo-vue/webpack.config.js b/demo-vue/webpack.config.js deleted file mode 100644 index 0880900..0000000 --- a/demo-vue/webpack.config.js +++ /dev/null @@ -1,266 +0,0 @@ -const { relative, resolve, sep } = require("path"); - -const webpack = require("webpack"); -const CleanWebpackPlugin = require("clean-webpack-plugin"); -const CopyWebpackPlugin = require("copy-webpack-plugin"); -const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer"); -const UglifyJsPlugin = require("uglifyjs-webpack-plugin"); - -const VueLoaderPlugin = require('vue-loader/lib/plugin'); -const NsVueTemplateCompiler = require("nativescript-vue-template-compiler"); - -const nsWebpack = require("nativescript-dev-webpack"); -const nativescriptTarget = require("nativescript-dev-webpack/nativescript-target"); -const { NativeScriptWorkerPlugin } = require("nativescript-worker-loader/NativeScriptWorkerPlugin"); - -module.exports = env => { - // Add your custom Activities, Services and other android app components here. - const appComponents = [ - "tns-core-modules/ui/frame", - "tns-core-modules/ui/frame/activity", - ]; - - const platform = env && (env.android && "android" || env.ios && "ios"); - if (!platform) { - throw new Error("You need to provide a target platform!"); - } - - const platforms = ["ios", "android"]; - const projectRoot = __dirname; - - // Default destination inside platforms//... - const dist = resolve(projectRoot, nsWebpack.getAppPath(platform, projectRoot)); - const appResourcesPlatformDir = platform === "android" ? "Android" : "iOS"; - - const { - // The 'appPath' and 'appResourcesPath' values are fetched from - // the nsconfig.json configuration file - // when bundling with `tns run android|ios --bundle`. - appPath = "app", - appResourcesPath = "app/App_Resources", - - // You can provide the following flags when running 'tns run android|ios' - snapshot, // --env.snapshot - production, // --env.production - report, // --env.report - hmr, // --env.hmr - } = env; - - const externals = (env.externals || []).map((e) => { // --env.externals - return new RegExp(e + ".*"); - }); - - const mode = production ? "production" : "development" - - const appFullPath = resolve(projectRoot, appPath); - const appResourcesFullPath = resolve(projectRoot, appResourcesPath); - - const entryModule = nsWebpack.getEntryModule(appFullPath); - const entryPath = `.${sep}${entryModule}.js`; - console.log(`Bundling application for entryPath ${entryPath}...`); - - const config = { - mode: mode, - context: appFullPath, - externals, - watchOptions: { - ignored: [ - appResourcesFullPath, - // Don't watch hidden files - "**/.*", - ], - }, - target: nativescriptTarget, - // target: nativeScriptVueTarget, - entry: { - bundle: entryPath, - }, - output: { - pathinfo: false, - path: dist, - libraryTarget: "commonjs2", - filename: "[name].js", - globalObject: "global", - }, - resolve: { - extensions: [".vue", ".js", ".scss", ".css"], - // Resolve {N} system modules from tns-core-modules - modules: [ - resolve(__dirname, "node_modules/tns-core-modules"), - resolve(__dirname, "node_modules"), - "node_modules/tns-core-modules", - "node_modules", - ], - alias: { - '~': appFullPath, - '@': appFullPath, - 'vue': 'nativescript-vue' - }, - // don't resolve symlinks to symlinked modules - symlinks: false, - }, - 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: "none", - optimization: { - splitChunks: { - cacheGroups: { - vendor: { - name: "vendor", - chunks: "all", - test: (module) => { - const moduleName = module.nameForCondition ? module.nameForCondition() : ''; - return /[\\/]node_modules[\\/]/.test(moduleName) || - appComponents.some(comp => comp === moduleName); - - }, - enforce: true, - }, - }, - }, - minimize: Boolean(production), - minimizer: [ - new UglifyJsPlugin({ - parallel: true, - cache: true, - uglifyOptions: { - output: { - comments: false, - }, - compress: { - // The Android SBG has problems parsing the output - // when these options are enabled - 'collapse_vars': platform !== "android", - sequences: platform !== "android", - }, - }, - }), - ], - }, - module: { - rules: [{ - test: new RegExp(entryPath), - use: [ - // Require all Android app components - platform === "android" && { - loader: "nativescript-dev-webpack/android-app-components-loader", - options: { modules: appComponents }, - }, - - { - loader: "nativescript-dev-webpack/bundle-config-loader", - options: { - registerPages: true, // applicable only for non-angular apps - loadCss: !snapshot, // load the application css if in debug mode - }, - }, - ].filter(loader => Boolean(loader)), - }, - { - test: /\.css$/, - use: [ - 'nativescript-dev-webpack/style-hot-loader', - 'nativescript-dev-webpack/apply-css-loader.js', - { loader: "css-loader", options: { minimize: false, url: false } }, - ], - }, - { - test: /\.scss$/, - use: [ - 'nativescript-dev-webpack/style-hot-loader', - 'nativescript-dev-webpack/apply-css-loader.js', - { loader: "css-loader", options: { minimize: false, url: false } }, - "sass-loader", - ], - }, - { - test: /\.js$/, - loader: 'babel-loader', - }, - { - test: /\.vue$/, - loader: "vue-loader", - options: { - compiler: NsVueTemplateCompiler, - }, - }, - ], - }, - plugins: [ - // ... Vue Loader plugin omitted - // make sure to include the plugin! - new VueLoaderPlugin(), - // Define useful constants like TNS_WEBPACK - new webpack.DefinePlugin({ - "global.TNS_WEBPACK": "true", - "TNS_ENV": JSON.stringify(mode) - }), - // Remove all files from the out dir. - new CleanWebpackPlugin([`${dist}/**/*`]), - // Copy native app resources to out dir. - new CopyWebpackPlugin([{ - from: `${appResourcesFullPath}/${appResourcesPlatformDir}`, - to: `${dist}/App_Resources/${appResourcesPlatformDir}`, - context: projectRoot, - }]), - // Copy assets to out dir. Add your own globs as needed. - new CopyWebpackPlugin([ - { from: { glob: "fonts/**" } }, - { from: { glob: "**/*.+(jpg|png)" } }, - { from: { glob: "assets/**/*" } }, - ], { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }), - // Generate a bundle starter script and activate it in package.json - new nsWebpack.GenerateBundleStarterPlugin([ - "./vendor", - "./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(), - ], - }; - - 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: [ - "tns-core-modules/bundle-entry-points", - ], - projectRoot, - webpackConfig: config, - })); - } - - if (hmr) { - config.plugins.push(new webpack.HotModuleReplacementPlugin()); - } - - return config; -}; \ No newline at end of file diff --git a/demo/app/package.json b/demo/app/package.json index 84c391d..3a445f7 100644 --- a/demo/app/package.json +++ b/demo/app/package.json @@ -3,7 +3,5 @@ "v8Flags": "--expose_gc", "requireModules": ["nativescript-imagepicker"] }, - "main": "app.js", - "name": "tns-template-hello-world", - "version": "3.1.0" + "main": "app.js" } diff --git a/demo/package.json b/demo/package.json index e5ff501..786716f 100644 --- a/demo/package.json +++ b/demo/package.json @@ -2,10 +2,10 @@ "nativescript": { "id": "org.nativescript.imagepickerdemo", "tns-android": { - "version": "5.3.0" + "version": "5.4.0" }, "tns-ios": { - "version": "5.3.0" + "version": "5.4.0" } }, "dependencies": { @@ -29,9 +29,9 @@ "mocha-multi": "^1.0.1", "mochawesome": "^3.1.1", "nativescript-css-loader": "~0.26.0", - "nativescript-dev-appium": "4.0.9", + "nativescript-dev-appium": "~5.2.0", "nativescript-dev-typescript": "~0.9.0", - "nativescript-dev-webpack": "~0.21.0", + "nativescript-dev-webpack": "~0.22.0", "tns-platform-declarations": "^5.0.0", "tslint": "~5.11.0" },