Skip to content

Commit

Permalink
Merge pull request #78 from upsetjs/release/v4.3.2
Browse files Browse the repository at this point in the history
Release v4.3.2
  • Loading branch information
sgratzl authored Sep 29, 2024
2 parents c06ae81 + 86a6408 commit d087564
Show file tree
Hide file tree
Showing 16 changed files with 2,920 additions and 6,338 deletions.
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.

71 changes: 30 additions & 41 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "chartjs-chart-venn",
"description": "Chart.js module for venn diagrams",
"version": "4.3.1",
"version": "4.3.2",
"author": {
"name": "Samuel Gratzl",
"email": "sam@sgratzl.com",
Expand Down Expand Up @@ -54,67 +54,56 @@
],
"devDependencies": {
"@chiogen/rollup-plugin-terser": "^7.1.3",
"@rollup/plugin-commonjs": "^26.0.1",
"@eslint/js": "^9.11.1",
"@rollup/plugin-commonjs": "^28.0.0",
"@rollup/plugin-json": "^6.1.0",
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-replace": "^5.0.7",
"@rollup/plugin-typescript": "^11.1.6",
"@rollup/plugin-node-resolve": "^15.3.0",
"@rollup/plugin-replace": "^6.0.1",
"@rollup/plugin-typescript": "^12.1.0",
"@types/d3-selection": "^3.0.10",
"@types/jest": "^29.5.12",
"@types/jest-image-snapshot": "^6.4.0",
"@types/node": "^20.14.2",
"@typescript-eslint/eslint-plugin": "^7.12.0",
"@typescript-eslint/parser": "^7.12.0",
"@yarnpkg/sdks": "^3.1.2",
"@types/node": "^22.7.4",
"@yarnpkg/sdks": "^3.2.0",
"canvas": "^2.11.2",
"canvas-5-polyfill": "^0.1.5",
"chart.js": "^4.4.3",
"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",
"chart.js": "^4.4.4",
"d3-selection": "^3.0.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",
"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",
"vitepress": "^1.2.3",
"vue": "^3.4.27",
"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",
"vite": "^5.4.8",
"vitepress": "^1.3.4",
"vitest": "^2.1.1",
"vue": "^3.5.10",
"vue-chartjs": "^5.3.1"
},
"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",
Expand All @@ -125,5 +114,5 @@
"dependencies": {
"@upsetjs/venn.js": "^1.4.2"
},
"packageManager": "yarn@4.2.2"
"packageManager": "yarn@4.5.0"
}
16 changes: 6 additions & 10 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 All @@ -34,14 +34,13 @@ export default function createChart<
TYPE extends ChartType,
DATA extends unknown[] = DefaultDataPoint<TYPE>,
LABEL = string,
>(config: ChartConfiguration<TYPE, DATA, LABEL>, width = 300, height = 300): ChartHelper<TYPE, DATA, LABEL> {
>(config: ChartConfiguration<TYPE, DATA, LABEL>, width = 800, height = 600): ChartHelper<TYPE, DATA, LABEL> {
const canvas = document.createElement('canvas');
canvas.width = width;
canvas.height = height;
Object.assign(defaults.font, { family: 'Courier New' });
defaults.color = 'transparent';
defaults.borderColor = 'transparent';
// eslint-disable-next-line no-param-reassign
// defaults.color = 'transparent';

config.options = {
responsive: false,
animation: {
Expand All @@ -51,16 +50,13 @@ export default function createChart<
legend: {
display: false,
},
colors: {
enabled: false,
},
title: {
display: false,
},
},
...(config.options || {}),
} as any;
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion

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

// remove Path2D since not properly working
Expand Down
11 changes: 8 additions & 3 deletions src/controllers/EulerDiagramController.spec.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
/// <reference types="jest" />
import { LinearScale, registry } from 'chart.js';
import { EulerDiagramController } from './EulerDiagramController';
import { extractSets } from '../data';
import { ArcSlice } from '../elements';
import createChart from '../__tests__/createChart';

import { describe, beforeAll, test, expect } from 'vitest';
describe('Euler', () => {
beforeAll(() => {
registry.addControllers(EulerDiagramController);
Expand All @@ -27,9 +26,15 @@ describe('Euler', () => {
{
type: EulerDiagramController.id,
data,
options: {
borderColor: 'transparent',
},
},
1000,
500
).toMatchImageSnapshot();
).toMatchImageSnapshot({
failureThreshold: 0.02,
failureThresholdType: 'percent',
});
});
});
11 changes: 8 additions & 3 deletions src/controllers/VennDiagramController.spec.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
/// <reference types="jest" />
import { LinearScale, registry } from 'chart.js';
import { VennDiagramController } from './VennDiagramController';
import { extractSets } from '../data';
import { ArcSlice } from '../elements';
import createChart from '../__tests__/createChart';

import { describe, beforeAll, test, expect } from 'vitest';
describe('venn', () => {
beforeAll(() => {
registry.addControllers(VennDiagramController);
Expand All @@ -27,9 +26,15 @@ describe('venn', () => {
{
type: VennDiagramController.id as 'venn',
data,
options: {
borderColor: 'transparent',
},
},
1000,
500
).toMatchImageSnapshot();
).toMatchImageSnapshot({
failureThreshold: 0.02,
failureThresholdType: 'percent',
});
});
});
3 changes: 2 additions & 1 deletion src/elements/ArcSlice.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ export class ArcSlice extends Element<IArcSliceProps, IArcSliceOptions> implemen
/**
* @hidden
*/
// eslint-disable-next-line class-methods-use-this

hasValue(): boolean {
return true;
}
Expand Down Expand Up @@ -157,6 +157,7 @@ export class ArcSlice extends Element<IArcSliceProps, IArcSliceOptions> implemen
// no proper angle rotation
ctx.ellipse(ref.cx, ref.cy, rx, ry, rot, 0, Math.PI * 2, !arc.sweep);
}
ctx.closePath();
}

if (options.backgroundColor) {
Expand Down
4 changes: 0 additions & 4 deletions tsconfig.eslint.json

This file was deleted.

6 changes: 4 additions & 2 deletions tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,17 @@
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"moduleResolution": "node",
"moduleResolution": "Bundler",
"jsx": "react",
"esModuleInterop": true,
"rootDir": "./src",
"baseUrl": "./",
"noEmit": true,
"paths": {
"@": ["./src"],
"*": ["*", "node_modules/*"]
"*": ["*", "node_modules/*"],
// workaround for: https://github.com/vitest-dev/vitest/issues/4567
"rollup/parseAst": ["./node_modules/rollup/dist/parseAst"]
}
},
"include": ["src/**/*.ts", "src/**/*.tsx", "docs/**/*.tsx"]
Expand Down
9 changes: 9 additions & 0 deletions vitest.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/// <reference types="vitest/config" />
import { defineConfig } from 'vite';

export default defineConfig({
test: {
environment: 'jsdom',
root: './src',
},
});
Loading

0 comments on commit d087564

Please sign in to comment.