From 3df687a87cf7288463cfcb5d4ceecf36d5945abb Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Fri, 5 Aug 2022 18:51:14 +0200 Subject: [PATCH] Remove destroy hook (#10549) * remove destroy hook * revert package-lock.json changes * update test * add migration guide note * fix karma failing test * change way of importing package.json --- docs/developers/destroy_flowchart.png | Bin 18626 -> 17490 bytes docs/developers/plugin_flowcharts.drawio | 2 +- docs/migration/v4-migration.md | 1 + karma.conf.cjs | 5 +++-- rollup.config.js | 4 +++- src/core/core.controller.js | 3 --- test/specs/core.controller.tests.js | 3 ++- types/index.d.ts | 8 -------- 8 files changed, 10 insertions(+), 16 deletions(-) diff --git a/docs/developers/destroy_flowchart.png b/docs/developers/destroy_flowchart.png index c8d5cbab51e88aa1259dc0564fe7c3415087c84e..4ba151b76fa9e3dd224296916470589e9542dc1d 100644 GIT binary patch literal 17490 zcmeIaXH-;MyDnIuV#XYZf^Nl3<)ENcrgDyAsGM^y6)^w?R1_64U|_4LC<;bU3@CzP z7L|>H7{GuciXvj@#opgH`kub$oYCXn?*7$lK-FT-HPbuieBS3>^BJsSGsy${h4ur1 zKm#d>1TOIH1Azi+`vd`ZdpB$v27CoLxMUpY=&kTKAkgr8PNLXp@~U-46=*yR|Igic zC|GN8ILE^X4hAZiDAJjg7LNnCW%7X!2pC9);eb0J0}21<){BHs z0#dM6t5GFV$!R*EbrJ%Gnhrw($rEXbd<*p9{O`d| zhfW7db{BT~tg3%fl`6MR0W{d1Y6V8?_$L|GodP2Qru~-s`#nUyO0Kb4`Rdbz@B@enC8wbtPTs~I${(Idng ztOf&0!et3ycD_L6gV=>Us5sF;Ra(bG0mI@LRwn?HiKJ2$2fUTx(l#|%bRGn zn`lHo8z(UlWWbYfJko2DnSeYwL!m%>lnk)KN5Lq39Gg*&0E;w$5pfn9!fTTVfXYc6 zuE`1^7$Fpq0YPyo7&4_tl*mPp;A9+~0;YSoN;eaZ^kX1YJsgZ9n+PV75+gw($vD2v zLIWxg0`+Nx9JWuVwv(MUDvxJ$cxgNhU5f@w2@D4Ujv!jSdNdEh;GzjW1XYNjsVF8g zL}u4`OcVvxfkk?Oig0SVx%-pM)*Hnr1d*lV!aV}B%&H&)D~&|Q!x?rI4Z)xj=z2B< zO=ro>0t--p;Pp|I7@+|ocPh|A1f3{U>NG$))6hK^Yn)ny&R55fZUO0+Z{3 z3>U({aC;F*o!4Z5JG~~J!{7m)>fRDKi%#dVVsS`3n*#jBAfmAputN=HNwhXT3K)pb z=5tuwNR96Axv_c2ayn&5jQ+Xab&gP);j1~z=YEywRYM^Bd z@T-CI%}zPeOOit6Y+?n3PgcP^Br*<(mFt~+ zx*R59Cu$WQm;=X!apXud#O$My8G2yjNxW98E72o!QPn~;(hIc15#bCH3{vVuc??h& z0wRN{{5-4HX;;u0Ku6sOhMVA1DP1%ZjLDEf7(Pq4!O4DynS@fS?t zGK1G;*EunAHk7Y)vT$OE4ynbmIdY%UB4S#^VhM|B=8F(+yUpf7W6Au`Mq~c

b_=hCBE;ILXPUQcOY~%PWF#IYup5$#g&k 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 literal 18626 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%0D#B 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 diff --git a/docs/developers/plugin_flowcharts.drawio b/docs/developers/plugin_flowcharts.drawio index 2b351e3ab..1e5ed9290 100644 --- a/docs/developers/plugin_flowcharts.drawio +++ b/docs/developers/plugin_flowcharts.drawio @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/migration/v4-migration.md b/docs/migration/v4-migration.md index 8a36b48a0..8d3c343b1 100644 --- a/docs/migration/v4-migration.md +++ b/docs/migration/v4-migration.md @@ -11,6 +11,7 @@ A number of changes were made to the configuration options passed to the `Chart` #### Specific changes * The radialLinear grid indexable and scriptable options don't decrease the index of the specified grid line anymore. +* The `destroy` plugin hook has been removed and replaced with `afterDestroy`. * Ticks callback on time scale now receives timestamp instead of a formatted label. #### Type changes diff --git a/karma.conf.cjs b/karma.conf.cjs index cde1d4faa..9ea00966a 100644 --- a/karma.conf.cjs +++ b/karma.conf.cjs @@ -3,10 +3,11 @@ const commonjs = require('@rollup/plugin-commonjs'); const istanbul = require('rollup-plugin-istanbul'); const json = require('@rollup/plugin-json'); const resolve = require('@rollup/plugin-node-resolve').default; -const builds = require('./rollup.config.cjs'); const yargs = require('yargs'); -module.exports = function(karma) { +module.exports = async function(karma) { + const builds = (await import('./rollup.config.js')).default; + const args = yargs .option('verbose', {default: false}) .argv; diff --git a/rollup.config.js b/rollup.config.js index 130252788..de558e295 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -2,7 +2,9 @@ import cleanup from 'rollup-plugin-cleanup'; import json from '@rollup/plugin-json'; import resolve from '@rollup/plugin-node-resolve'; import {terser} from 'rollup-plugin-terser'; -import {version, homepage} from './package.json'; +import { readFileSync } from "fs"; + +const {version, homepage} = JSON.parse(readFileSync('./package.json')); const banner = `/*! * Chart.js v${version} diff --git a/src/core/core.controller.js b/src/core/core.controller.js index a6953ccb5..17394c933 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -955,9 +955,6 @@ class Chart { this.ctx = null; } - // TODO V4: delete destroy hook and reference to it in plugin flowchart - this.notifyPlugins('destroy'); - delete instances[this.id]; this.notifyPlugins('afterDestroy'); diff --git a/test/specs/core.controller.tests.js b/test/specs/core.controller.tests.js index 90d31d061..e30da0fe9 100644 --- a/test/specs/core.controller.tests.js +++ b/test/specs/core.controller.tests.js @@ -1806,7 +1806,8 @@ describe('Chart', function() { 'resize' ], destroy: [ - 'destroy' + 'beforeDestroy', + 'afterDestroy' ] }; diff --git a/types/index.d.ts b/types/index.d.ts index 77444d8c0..c79f19cbe 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -1083,14 +1083,6 @@ export interface Plugin exte * @param {object} options - The plugin options. */ beforeDestroy?(chart: Chart, args: EmptyObject, options: O): void; - /** - * Called after the chart has been destroyed. - * @param {Chart} chart - The chart instance. - * @param {object} args - The call arguments. - * @param {object} options - The plugin options. - * @deprecated since version 3.7.0 in favour of afterDestroy - */ - destroy?(chart: Chart, args: EmptyObject, options: O): void; /** * Called after the chart has been destroyed. * @param {Chart} chart - The chart instance.