From 734cf55bad2df67abb54e3755819f99a066ce883 Mon Sep 17 00:00:00 2001 From: Luke Childs Date: Tue, 14 Nov 2017 11:29:52 +0700 Subject: [PATCH 1/3] Support canvas v1 & v2 API --- src/index.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index b6cade7..e83bab6 100644 --- a/src/index.js +++ b/src/index.js @@ -7,12 +7,15 @@ const defaultOptions = { Canvas: undefined }; +// Support canvas v1 & v2 API +const createCanvas = Canvas => typeof Canvas === 'function' ? new Canvas() : Canvas.createCanvas(); + // Return Promise const mergeImages = (sources = [], options = {}) => new Promise(resolve => { options = Object.assign({}, defaultOptions, options); // Setup browser/Node.js specific variables - const canvas = options.Canvas ? new options.Canvas() : window.document.createElement('canvas'); + const canvas = options.Canvas ? createCanvas(options.Canvas) : window.document.createElement('canvas'); const Image = options.Canvas ? options.Canvas.Image : window.Image; if (options.Canvas) { options.quality *= 100; From 2b442b4891de0225506a19336b62faa0100c0a23 Mon Sep 17 00:00:00 2001 From: Luke Childs Date: Tue, 14 Nov 2017 11:49:00 +0700 Subject: [PATCH 2/3] Test against canvas@v2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d43294d..45572fd 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "devDependencies": { "ava": "^0.23.0", "camelcase": "^4.0.0", - "canvas": "^1.6.2", + "canvas": "^2.0.0-alpha.6", "coveralls": "^3.0.0", "datauri": "^1.0.5", "eslint-config-xo-lukechilds": "^1.0.0", From a5ecc3ea819d39703e4b4dbaa3ef2c4f025d7e39 Mon Sep 17 00:00:00 2001 From: Luke Childs Date: Thu, 1 Nov 2018 18:59:33 +0700 Subject: [PATCH 3/3] Update to canvas@2.0.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 45572fd..3212d6f 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "devDependencies": { "ava": "^0.23.0", "camelcase": "^4.0.0", - "canvas": "^2.0.0-alpha.6", + "canvas": "^2.0.1", "coveralls": "^3.0.0", "datauri": "^1.0.5", "eslint-config-xo-lukechilds": "^1.0.0",