From 8714b1a0da1a8553a17dca57a9f3888d396660a1 Mon Sep 17 00:00:00 2001 From: Christian Pillsbury Date: Mon, 4 Jan 2021 12:51:54 -0600 Subject: [PATCH] upgrade dependencies & resolve security audit issues. Update usage based on dep version breaking changes. Update babel usage for modern best practices. Fix for kinvey login form. Update gitignore. add informative code comments for dev and update README to reflect SDK version change. --- .gitignore | 4 ++++ README.md | 2 +- package.json | 21 ++++++++++++--------- src/js/app.js | 6 ++++-- src/js/dashboard.js | 4 ++-- src/js/login.js | 19 ++++++++++++------- src/js/logout.js | 2 +- src/js/polyfills.js | 1 - src/pages/login.html | 8 ++++---- webpack.common.js | 13 +++++++------ 10 files changed, 47 insertions(+), 33 deletions(-) delete mode 100644 src/js/polyfills.js diff --git a/.gitignore b/.gitignore index a8f5438..55fc2a6 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,7 @@ # NodeJS /node_modules +package-lock.json + +# Build +/dist diff --git a/README.md b/README.md index f3fce6c..2ebd0c0 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # HTML5-Starter -A Kinvey starter application that uses the Kinvey HTML5 3.x SDK. +A Kinvey starter application that uses the Kinvey HTML5 5.x SDK. ### Installation diff --git a/package.json b/package.json index 0f07f13..41aaebd 100644 --- a/package.json +++ b/package.json @@ -10,18 +10,17 @@ "dev": "webpack-dev-server --open --config webpack.dev.js" }, "dependencies": { - "babel-polyfill": "^6.26.0", - "bootstrap": "4.1.3", - "jquery": "3.3.1", - "kinvey-html5-sdk": "4.0.0", + "bootstrap": "^4.5.3", + "jquery": "^3.5.1", + "kinvey-html5-sdk": "^5.0.1", "popper.js": "1.14.4" }, "devDependencies": { "babel-core": "^6.26.3", "babel-loader": "^7.1.5", - "babel-preset-es2015": "^6.24.1", - "clean-webpack-plugin": "^0.1.19", - "copy-webpack-plugin": "^4.5.2", + "babel-preset-env": "^1.7.0", + "clean-webpack-plugin": "^3.0.0", + "copy-webpack-plugin": "^6.2.1", "css-loader": "^1.0.0", "eslint": "^5.4.0", "eslint-loader": "^2.1.0", @@ -51,7 +50,11 @@ }, "babel": { "presets": [ - "es2015" + "env" ] - } + }, + "browserslist": [ + "last 2 versions and not dead", + "> 0.2%" + ] } diff --git a/src/js/app.js b/src/js/app.js index 18caf51..d62c2b7 100644 --- a/src/js/app.js +++ b/src/js/app.js @@ -1,7 +1,9 @@ -import * as App from 'kinvey-html5-sdk/lib/app'; +import * as Kinvey from 'kinvey-html5-sdk/lib'; import 'bootstrap/dist/css/bootstrap.css'; -App.init({ +// NOTE: Replace the `appKey` and `appSecret` values with your own based on your kinvey app setup +// (e.g. an app you set up via https://console.kinvey.com/) +Kinvey.init({ appKey: 'kid_SkpK--qCb', appSecret: 'd0b8e416e3e043e1987f5945315b8906' }); diff --git a/src/js/dashboard.js b/src/js/dashboard.js index 6a425f0..b5f7be3 100644 --- a/src/js/dashboard.js +++ b/src/js/dashboard.js @@ -1,5 +1,5 @@ -import * as DataStore from 'kinvey-html5-sdk/lib/datastore'; -import { User } from 'kinvey-html5-sdk/lib/user'; +import { DataStore } from 'kinvey-html5-sdk/lib'; +import { User } from 'kinvey-html5-sdk/lib'; import 'bootstrap'; import './app'; diff --git a/src/js/login.js b/src/js/login.js index e75c132..9cb6081 100644 --- a/src/js/login.js +++ b/src/js/login.js @@ -1,14 +1,17 @@ import $ from 'jquery'; -import * as DataStore from 'kinvey-html5-sdk/lib/datastore'; -import { User } from 'kinvey-html5-sdk/lib/user'; +import { User } from 'kinvey-html5-sdk/lib'; import './app'; import '../styles/login.scss'; $(function () { - function login() { - var username = $('#inputUsername').val(); - var password = $('#inputPassword').val(); - return User.login(username, password); + function login(username, password) { + return User.logout() + .then(function () { + return User.login(username, password); + }) + .then(function () { + window.location.assign('/index.html'); + }); } function loginWithMIC() { @@ -23,7 +26,9 @@ $(function () { $('.form-login').on('submit', function (event) { event.preventDefault(); - login(); + var username = $('#inputUsername').val(); + var password = $('#inputPassword').val(); + login(username, password); }); $('#login-mic').on('click', function () { diff --git a/src/js/logout.js b/src/js/logout.js index 46a567f..3e4ed30 100644 --- a/src/js/logout.js +++ b/src/js/logout.js @@ -1,4 +1,4 @@ -import { User } from 'kinvey-html5-sdk/lib/user'; +import { User } from 'kinvey-html5-sdk/lib'; import './app'; User.logout() diff --git a/src/js/polyfills.js b/src/js/polyfills.js deleted file mode 100644 index b012711..0000000 --- a/src/js/polyfills.js +++ /dev/null @@ -1 +0,0 @@ -import 'babel-polyfill'; diff --git a/src/pages/login.html b/src/pages/login.html index a2488d8..cf5eec1 100644 --- a/src/pages/login.html +++ b/src/pages/login.html @@ -13,7 +13,7 @@
Progress Kinvey Logo
- - - + + + diff --git a/webpack.common.js b/webpack.common.js index 8feef7c..8a4a9f5 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -1,5 +1,5 @@ const Path = require('path'); -const CleanWebpackPlugin = require('clean-webpack-plugin'); +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const CopyWebpackPlugin = require('copy-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); @@ -10,17 +10,18 @@ module.exports = { dashboard: Path.resolve(__dirname, './src/js/dashboard'), login: Path.resolve(__dirname, './src/js/login'), logout: Path.resolve(__dirname, './src/js/logout'), - polyfills: Path.resolve(__dirname, './src/js/polyfills') }, output: { path: dest, filename: '[name].[hash].js' }, plugins: [ - new CleanWebpackPlugin([dest], { root: Path.resolve(__dirname, '..') }), - new CopyWebpackPlugin([ - { from: Path.resolve(__dirname, './public'), to: 'public' } - ]), + new CleanWebpackPlugin(), + new CopyWebpackPlugin({ + patterns: [ + { from: Path.resolve(__dirname, './public'), to: 'public' } + ] + }), new HtmlWebpackPlugin({ filename: 'index.html', template: Path.resolve(__dirname, './src/pages/dashboard.html'),