Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v4.3.2 #243

Merged
merged 9 commits into from
Sep 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 0 additions & 25 deletions .eslintrc.cjs

This file was deleted.

19 changes: 19 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
version: 2

updates:
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'monthly'
target-branch: 'dev'
labels:
- 'dependencies'
- 'chore'
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: 'monthly'
target-branch: 'dev'
labels:
- 'dependencies'
- 'chore'
894 changes: 0 additions & 894 deletions .yarn/releases/yarn-4.2.2.cjs

This file was deleted.

925 changes: 925 additions & 0 deletions .yarn/releases/yarn-4.5.0.cjs

Large diffs are not rendered by default.

7 changes: 1 addition & 6 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1 @@
packageExtensions:
eslint-module-utils@*:
dependencies:
eslint-import-resolver-node: "*"

yarnPath: .yarn/releases/yarn-4.2.2.cjs
yarnPath: .yarn/releases/yarn-4.5.0.cjs
61 changes: 61 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
// @ts-check

import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import prettier from 'eslint-plugin-prettier';

export default tseslint.config(eslint.configs.recommended, ...tseslint.configs.recommended, {
plugins: { prettier },
rules: {
'@typescript-eslint/no-explicit-any': 'off',
'max-classes-per-file': 'off',
'no-underscore-dangle': 'off',
'import/extensions': 'off',
},
});

// import path from "node:path";
// import { fileURLToPath } from "node:url";
// import js from "@eslint/js";
// import { FlatCompat } from "@eslint/eslintrc";

// const __filename = fileURLToPath(import.meta.url);
// const __dirname = path.dirname(__filename);
// const compat = new FlatCompat({
// baseDirectory: __dirname,
// recommendedConfig: js.configs.recommended,
// allConfig: js.configs.all
// });

// export default [...fixupConfigRules(compat.extends(
// "airbnb-typescript",
// "react-app",
// "plugin:prettier/recommended",
// "prettier",
// )), {
// plugins: {
// prettier: fixupPluginRules(prettier),
// },

// languageOptions: {
// ecmaVersion: 5,
// sourceType: "script",

// parserOptions: {
// project: "./tsconfig.eslint.json",
// },
// },

// settings: {
// react: {
// version: "99.99.99",
// },
// },

// rules: {
// "@typescript-eslint/no-explicit-any": "off",
// "max-classes-per-file": "off",
// "no-underscore-dangle": "off",
// "import/extensions": "off",
// },
// }];
6 changes: 0 additions & 6 deletions jest.config.js

This file was deleted.

75 changes: 31 additions & 44 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "chartjs-chart-geo",
"description": "Chart.js module for charting maps",
"version": "4.3.1",
"version": "4.3.2",
"author": {
"name": "Samuel Gratzl",
"email": "sam@sgratzl.com",
Expand Down Expand Up @@ -52,7 +52,7 @@
"dependencies": {
"@types/d3-geo": "^3.1.0",
"@types/d3-scale-chromatic": "^3.0.3",
"@types/topojson-client": "^3.1.4",
"@types/topojson-client": "^3.1.5",
"d3-array": "^3.2.4",
"d3-color": "^3.1.0",
"d3-geo": "^3.1.1",
Expand All @@ -62,77 +62,64 @@
},
"devDependencies": {
"@chiogen/rollup-plugin-terser": "^7.1.3",
"@rollup/plugin-commonjs": "^26.0.1",
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-replace": "^5.0.7",
"@rollup/plugin-typescript": "^11.1.6",
"@types/jest": "^29.5.12",
"@eslint/js": "^9.11.1",
"@rollup/plugin-commonjs": "^28.0.0",
"@rollup/plugin-node-resolve": "^15.3.0",
"@rollup/plugin-replace": "^6.0.1",
"@rollup/plugin-typescript": "^12.1.0",
"@types/jest-image-snapshot": "^6.4.0",
"@types/node": "^20.14.2",
"@types/seedrandom": "^3.0.8",
"@typescript-eslint/eslint-plugin": "^7.12.0",
"@typescript-eslint/parser": "^7.12.0",
"@yarnpkg/pnpify": "^4.1.0",
"@yarnpkg/sdks": "^3.1.2",
"@types/node": "^22.7.4",
"@types/seedrandom": "^3",
"@yarnpkg/sdks": "^3.2.0",
"canvas": "^2.11.2",
"canvas-5-polyfill": "^0.1.5",
"chart.js": "^4.4.3",
"chart.js": "^4.4.4",
"chartjs-plugin-datalabels": "^2.2.0",
"eslint": "^8.57.0",
"eslint-config-airbnb-typescript": "^18.0.0",
"eslint-config-prettier": "^9.1.0",
"eslint-config-react-app": "^7.0.1",
"eslint-plugin-flowtype": "^8.0.3",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-react": "^7.34.2",
"eslint-plugin-react-hooks": "^4.6.2",
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.7.0",
"eslint": "^9.11.1",
"eslint-plugin-prettier": "^5.2.1",
"jest-image-snapshot": "^6.4.0",
"prettier": "^3.3.1",
"rimraf": "^5.0.7",
"rollup": "^4.18.0",
"jsdom": "^25.0.1",
"prettier": "^3.3.3",
"rimraf": "^6.0.1",
"rollup": "^4.22.5",
"rollup-plugin-cleanup": "^3.2.1",
"rollup-plugin-dts": "^6.1.1",
"seedrandom": "^3.0.5",
"ts-jest": "^29.1.4",
"tslib": "^2.6.3",
"typedoc": "^0.25.13",
"typedoc-plugin-markdown": "^4.0.3",
"typedoc-vitepress-theme": "^1.0.0",
"typescript": "^5.4.5",
"ts-jest": "^29.2.5",
"tslib": "^2.7.0",
"typedoc": "^0.26.7",
"typedoc-plugin-markdown": "^4.2.8",
"typedoc-vitepress-theme": "^1.0.1",
"typescript": "^5.6.2",
"typescript-eslint": "^8.7.0",
"us-atlas": "^3.0.1",
"vitepress": "^1.2.3",
"vue": "^3.4.27",
"vite": "^5.4.8",
"vitepress": "^1.3.4",
"vitest": "^2.1.1",
"vue": "^3.5.10",
"vue-chartjs": "^5.3.1",
"world-atlas": "^2.0.2"
},
"resolutions": {
"@typescript-eslint/eslint-plugin": "^7.2.0",
"@typescript-eslint/parser": "^7.2.0"
},
"scripts": {
"clean": "rimraf --glob build node_modules \"*.tgz\" \"*.tsbuildinfo\"",
"compile": "tsc -b tsconfig.c.json",
"start": "yarn run watch",
"watch": "rollup -c -w",
"build": "rollup -c",
"test": "yarn node --experimental-vm-modules $(yarn bin jest) --passWithNoTests --detectOpenHandles --forceExit",
"test": "vitest --passWithNoTests",
"test:watch": "yarn run test --watch",
"test:coverage": "yarn run test --coverage",
"lint": "yarn run eslint && yarn run prettier",
"fix": "yarn run eslint:fix && yarn run prettier:write",
"prettier:write": "prettier \"*\" \"*/**\" --write",
"prettier": "prettier \"*\" \"*/**\" --check",
"eslint": "eslint src --ext .ts,.tsx --cache",
"eslint": "eslint src --cache",
"eslint:fix": "yarn run eslint --fix",
"prepare": "yarn run build",
"docs:api": "typedoc --options typedoc.json",
"docs:dev": "vitepress dev docs",
"docs:build": "yarn run docs:api && vitepress build docs",
"docs:preview": "vitepress preview docs"
},
"packageManager": "yarn@4.2.2"
"packageManager": "yarn@4.5.0"
}
8 changes: 4 additions & 4 deletions src/__tests__/createChart.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/// <reference types="jest" />
/// <reference types="node" />

import { expect } from 'vitest';
import { Chart, ChartConfiguration, defaults, ChartType, DefaultDataPoint } from 'chart.js';
import { toMatchImageSnapshot, MatchImageSnapshotOptions } from 'jest-image-snapshot';
import 'canvas-5-polyfill';
Expand All @@ -12,7 +12,7 @@ function toBuffer(canvas: HTMLCanvasElement) {
canvas.toBlob((b) => {
const file = new FileReader();
file.onload = () => resolve(Buffer.from(file.result as ArrayBuffer));
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion

file.readAsArrayBuffer(b!);
});
});
Expand Down Expand Up @@ -40,7 +40,7 @@ export default function createChart<
canvas.height = height;
Object.assign(defaults.font, { family: 'Courier New' });
// defaults.color = 'transparent';
// eslint-disable-next-line no-param-reassign

config.options = {
responsive: false,
animation: {
Expand All @@ -56,7 +56,7 @@ export default function createChart<
},
...(config.options || {}),
} as any;
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion

const ctx = canvas.getContext('2d')!;

const t = new Chart<TYPE, DATA, LABEL>(ctx, config);
Expand Down
2 changes: 1 addition & 1 deletion src/controllers/BubbleMapController.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import {
import createChart from '../__tests__/createChart';
import { BubbleMapController } from './BubbleMapController';
import data from './__tests__/data';

import { describe, beforeAll, test } from 'vitest';
const require = createRequire(import.meta.url); // construct the require method
const states10m = require('us-atlas/states-10m.json');

Expand Down
8 changes: 3 additions & 5 deletions src/controllers/BubbleMapController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,20 +41,18 @@ export class BubbleMapController extends GeoController<'bubbleMap', MyPointEleme
meta.rScale = this.getScaleForId('size');
meta.vScale = meta.rScale;
meta.iScale = meta.xScale;
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion

meta.iAxisID = meta.xAxisID!;
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion

dataset.iAxisID = meta.xAxisID!;
}

// eslint-disable-next-line class-methods-use-this
_getOtherScale(scale: Scale): Scale {
// for strange get min max with other scale
return scale;
}

parse(start: number, count: number): void {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const rScale = this.getMeta().rScale!;
const data = this.getDataset().data as unknown as IBubbleMapDataPoint[];
const meta = this._cachedMeta;
Expand All @@ -71,7 +69,7 @@ export class BubbleMapController extends GeoController<'bubbleMap', MyPointEleme
updateElements(elems: MyPointElement[], start: number, count: number, mode: UpdateMode): void {
const reset = mode === 'reset';
const firstOpts = this.resolveDataElementOptions(start, mode);
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion

const sharedOptions = this.getSharedOptions(firstOpts)!;
const includeOptions = this.includeOptions(mode, sharedOptions);
const scale = this.getProjectionScale();
Expand Down
2 changes: 1 addition & 1 deletion src/controllers/ChoroplethController.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {
} from '../scales';
import { ChoroplethController } from './ChoroplethController';
import { GeoFeature } from '../elements';

import { describe, beforeAll, test } from 'vitest';
const require = createRequire(import.meta.url); // construct the require method
const states10m = require('us-atlas/states-10m.json');
const countries50m = require('world-atlas/countries-50m.json');
Expand Down
8 changes: 3 additions & 5 deletions src/controllers/ChoroplethController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,20 +35,18 @@ export class ChoroplethController extends GeoController<'choropleth', GeoFeature
meta.rScale = this.getScaleForId('color');
meta.vScale = meta.rScale;
meta.iScale = meta.xScale;
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion

meta.iAxisID = meta.xAxisID!;
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion

dataset.iAxisID = meta.xAxisID!;
}

// eslint-disable-next-line class-methods-use-this
_getOtherScale(scale: Scale): Scale {
// for strange get min max with other scale
return scale;
}

parse(start: number, count: number): void {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const rScale = this.getMeta().rScale!;
const { data } = this.getDataset();
const meta = this._cachedMeta;
Expand All @@ -61,7 +59,7 @@ export class ChoroplethController extends GeoController<'choropleth', GeoFeature

updateElements(elems: GeoFeature[], start: number, count: number, mode: UpdateMode): void {
const firstOpts = this.resolveDataElementOptions(start, mode);
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion

const sharedOptions = this.getSharedOptions(firstOpts)!;
const includeOptions = this.includeOptions(mode, sharedOptions);
const scale = this.getProjectionScale();
Expand Down
3 changes: 0 additions & 3 deletions src/controllers/GeoController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,6 @@ export class GeoController<
const dirtyCache = scale.updateBounds();

if (this.showOutline()) {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const elem = meta.dataset!;
if (dirtyCache) {
delete elem.cache;
Expand All @@ -125,7 +124,6 @@ export class GeoController<

this.updateElements(meta.data, 0, meta.data.length, mode);
if (dirtyCache) {
// eslint-disable-next-line no-param-reassign
meta.data.forEach((elem) => delete (elem as any).cache);
}
}
Expand Down Expand Up @@ -189,7 +187,6 @@ export class GeoController<
}

if (this.showOutline() && this.getMeta().dataset) {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
(this.getMeta().dataset!.draw.call as any)(this.getMeta().dataset!, chart.ctx, chart.chartArea);
}

Expand Down
2 changes: 1 addition & 1 deletion src/scales/ColorScale.ts
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,6 @@ declare module 'chart.js' {
};
}

// eslint-disable-next-line @typescript-eslint/no-empty-interface
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
export interface ScaleTypeRegistry extends ColorScaleTypeRegistry {}
}
Loading