From 85b02add899b90e4d6ced4474cfdee98838d272a Mon Sep 17 00:00:00 2001 From: Jamie Peabody Date: Thu, 15 Oct 2020 20:46:11 +0100 Subject: [PATCH] chore: updated dependencies --- CHANGES.md | 3 +++ karma.conf.js | 12 +++++---- package.json | 35 ++++++++++++------------- tests/mergely.spec.js | 60 ++++++++++++++++++++++++++++--------------- webpack.dev.js | 9 ++----- webpack.prod.js | 12 +++++---- 6 files changed, 76 insertions(+), 55 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index c6e69fe..fafbffd 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,8 @@ # Changes +## 4.2.1: +* chore: updated dependencies, cleared security issues + ## 4.2.0: * minor: added new option `ignoreaccents` to ignore accented characters. diff --git a/karma.conf.js b/karma.conf.js index c820dbf..1887325 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -53,11 +53,13 @@ module.exports = function(config) { } }, plugins: [ - new CopyWebpackPlugin([{ - from: 'src/mergely.css', - to: 'mergely.css', - toType: 'file' - }]) + new CopyWebpackPlugin({ + patterns: [{ + from: 'src/mergely.css', + to: 'mergely.css', + toType: 'file' + }] + }) ] }, webpackServer: { diff --git a/package.json b/package.json index cce8ff5..f6f622c 100644 --- a/package.json +++ b/package.json @@ -36,34 +36,33 @@ "devDependencies": { "@babel/core": "^7.1.6", "@babel/preset-env": "^7.1.6", - "@webpack-cli/init": "^0.1.2", + "@webpack-cli/init": "^1.0.1", "babel-loader": "^8.0.4", "babel-plugin-syntax-dynamic-import": "^6.18.0", "chai": "^4.1.2", "codemirror": "^5.50.2", - "copy-webpack-plugin": "^4.6.0", - "css-loader": "^0.28.11", - "file-loader": "^1.1.5", - "html-webpack-plugin": "^3.2.0", - "image-webpack-loader": "^3.4.2", - "jquery": "^3.2.1", - "karma": "^3.1.1", + "copy-webpack-plugin": "^6.2.1", + "css-loader": "^5.0.0", + "file-loader": "^6.1.1", + "html-webpack-plugin": "^4.5.0", + "image-webpack-loader": "^7.0.1", + "jquery": "^3.5.1", + "karma": "^5.2.3", "karma-chai": "^0.1.0", - "karma-chrome-launcher": "^2.2.0", + "karma-chrome-launcher": "^3.1.0", "karma-coverage-istanbul-reporter": "^1.3.0", - "karma-mocha": "^1.3.0", + "karma-mocha": "^2.0.1", "karma-mocha-reporter": "^2.2.5", - "karma-webpack": "^2.0.9", - "mocha": "^4.0.1", - "style-loader": "^0.23.0", - "uglifyjs-webpack-plugin": "^2.0.1", - "webpack": "^4.20.2", - "webpack-cli": "^3.1.2", - "webpack-dev-server": "^3.1.9" + "karma-webpack": "^4.0.2", + "mocha": "^8.1.3", + "style-loader": "^2.0.0", + "webpack": "^4.44.2", + "webpack-cli": "^4.0.0", + "webpack-dev-server": "^3.11.0" }, "scripts": { "build": "rm -rf lib && webpack --config ./webpack.prod.js", - "start": "webpack-dev-server -w --debug --progress --colors --config ./webpack.dev.js --content-base ./dist --inline --hot --host 0.0.0.0", + "start": "webpack serve --config webpack.dev.js", "test": "karma start", "test:chrome": "karma start --browsers Chrome --singleRun=false" } diff --git a/tests/mergely.spec.js b/tests/mergely.spec.js index 5c5f080..e055702 100644 --- a/tests/mergely.spec.js +++ b/tests/mergely.spec.js @@ -586,28 +586,48 @@ describe('mergely', function () { done(); }); }); + }); - it('should not be vulnerable to XSS', function (done) { - function initXSS(options) { - $('body').get(0).innerHTML = "
"; - const divs = document.getElementsByTagName('div'); - editor = $(divs[0]); - editor.mergely(options); - return editor; - }; + it('should not be vulnerable to XSS', function (done) { + function initXSS(options) { + $('body').get(0).innerHTML = "
"; + const divs = document.getElementsByTagName('div'); + editor = $(divs[0]); + editor.mergely(options); + return editor; + }; - $(document).ready(() => { - const editor = initXSS({ - height: 100, - viewport: true, - license: 'lgpl-separate-notice', - lhs: (setValue) => setValue(macbeth), - rhs: (setValue) => setValue(macbeth) - }); - expect($('body').find('#injected')).to.have.length(0, 'expected no div with id injected'); - const divs = document.getElementsByTagName('div'); - expect(divs).to.have.length(1); - expect(divs[0].id).to.equal('mergely'); + $(document).ready(() => { + const editor = initXSS({ + height: 100, + viewport: true, + license: 'lgpl-separate-notice', + lhs: (setValue) => setValue(macbeth), + rhs: (setValue) => setValue(macbeth) + }); + expect($('body').find('#injected')).to.have.length(0, 'expected no div with id injected'); + const divs = document.getElementsByTagName('div'); + expect(divs).to.have.length(1); + expect(divs[0].id).to.equal('mergely'); + done(); + }); + }); + + it('should ignore accented characters', function (done) { + $(document).ready(() => { + const editor = init({ + height: 100, + license: 'lgpl-separate-notice', + ignoreaccents: true, + lhs: (setValue) => setValue('comunicação'), + rhs: (setValue) => setValue('comunicacao') + }); + const { mergely } = $('#mergely'); + + $('#mergely').on('updated', () => { + console.log('updated'); + const diff = $('#mergely').mergely('diff');; + expect(diff).to.equal(''); done(); }); }); diff --git a/webpack.dev.js b/webpack.dev.js index bde8f06..27371eb 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -19,10 +19,7 @@ module.exports = { }, { test: /\.css$/, use: [{ - loader: 'style-loader', - options: { - sourceMap: true - } + loader: 'style-loader' }, { loader: 'css-loader' }] @@ -69,11 +66,9 @@ module.exports = { test: /[\\/]node_modules[\\/]/ } }, - chunks: 'async', minChunks: 1, - minSize: 30000, - name: true + minSize: 30000 } } } \ No newline at end of file diff --git a/webpack.prod.js b/webpack.prod.js index 644ec3e..8fdae6b 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -29,10 +29,12 @@ module.exports = { CodeMirror: 'CodeMirror' }, plugins: [ - new CopyWebpackPlugin([{ - from: 'src/mergely.css', - to: 'mergely.css', - toType: 'file' - }]) + new CopyWebpackPlugin({ + patterns: [{ + from: 'src/mergely.css', + to: 'mergely.css', + toType: 'file' + }] + }) ] };