d3-state-visualizer

This commit is contained in:
Nathan Bierema 2024-08-06 23:17:38 -04:00
parent 786a48b3c6
commit 1e387d877e
12 changed files with 39 additions and 81 deletions

View File

@ -2,34 +2,34 @@ import eslint from '@eslint/js';
import tseslint from 'typescript-eslint'; import tseslint from 'typescript-eslint';
import eslintConfigPrettier from 'eslint-config-prettier'; import eslintConfigPrettier from 'eslint-config-prettier';
export default (tsconfigRootDir) => [ export default (tsconfigRootDir, files = ['**/*.ts'], project = true) => [
{ {
files: ['**/*.ts'], files,
...eslint.configs.recommended, ...eslint.configs.recommended,
}, },
...tseslint.configs.recommendedTypeChecked.map((config) => ({ ...tseslint.configs.recommendedTypeChecked.map((config) => ({
files: ['**/*.ts'], files,
...config, ...config,
})), })),
...tseslint.configs.stylisticTypeChecked.map((config) => ({ ...tseslint.configs.stylisticTypeChecked.map((config) => ({
files: ['**/*.ts'], files,
...config, ...config,
})), })),
{ {
files: ['**/*.ts'], files,
languageOptions: { languageOptions: {
parserOptions: { parserOptions: {
project: true, project,
tsconfigRootDir, tsconfigRootDir,
}, },
}, },
}, },
{ {
files: ['**/*.ts'], files,
...eslintConfigPrettier, ...eslintConfigPrettier,
}, },
{ {
files: ['**/*.ts'], files,
rules: { rules: {
'@typescript-eslint/no-unsafe-return': 'off', '@typescript-eslint/no-unsafe-return': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off', '@typescript-eslint/no-unsafe-assignment': 'off',

View File

@ -3,7 +3,7 @@ import tseslint from 'typescript-eslint';
import jest from 'eslint-plugin-jest'; import jest from 'eslint-plugin-jest';
import eslintConfigPrettier from 'eslint-config-prettier'; import eslintConfigPrettier from 'eslint-config-prettier';
export default (files, tsconfigRootDir, tsconfigFile) => [ export default (files, tsconfigRootDir, project) => [
{ {
files, files,
...eslint.configs.recommended, ...eslint.configs.recommended,
@ -20,7 +20,7 @@ export default (files, tsconfigRootDir, tsconfigFile) => [
files, files,
languageOptions: { languageOptions: {
parserOptions: { parserOptions: {
project: [tsconfigFile], project,
tsconfigRootDir, tsconfigRootDir,
}, },
}, },

View File

@ -1,2 +0,0 @@
examples
lib

View File

@ -1,13 +0,0 @@
module.exports = {
extends: '../../eslintrc.js.base.json',
overrides: [
{
files: ['*.ts'],
extends: '../../eslintrc.ts.base.json',
parserOptions: {
tsconfigRootDir: __dirname,
project: true,
},
},
],
};

View File

@ -0,0 +1,10 @@
import eslintJs from '../../eslint.js.config.base.mjs';
import eslintTs from '../../eslint.ts.config.base.mjs';
export default [
...eslintJs,
...eslintTs(import.meta.dirname),
{
ignores: ['examples', 'lib'],
},
];

View File

@ -1,17 +0,0 @@
module.exports = {
extends: '../../../../eslintrc.ts.base.json',
parserOptions: {
tsconfigRootDir: __dirname,
project: true,
},
overrides: [
{
files: ['webpack.config.ts'],
extends: '../../../../eslintrc.ts.base.json',
parserOptions: {
tsconfigRootDir: __dirname,
project: ['./tsconfig.webpack.json'],
},
},
],
};

View File

@ -0,0 +1,15 @@
import eslintJs from '../../../../eslint.js.config.base.mjs';
import eslintTs from '../../../../eslint.ts.config.base.mjs';
export default [
...eslintJs,
...eslintTs(import.meta.dirname),
...eslintTs(
import.meta.dirname,
['webpack.config.ts'],
['./tsconfig.webpack.json'],
),
{
ignores: ['dist'],
},
];

View File

@ -21,7 +21,7 @@
"scripts": { "scripts": {
"start": "cross-env TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack serve --open", "start": "cross-env TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack serve --open",
"build": "cross-env TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack", "build": "cross-env TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack",
"lint": "eslint . --ext .ts", "lint": "eslint .",
"type-check": "tsc --noEmit" "type-check": "tsc --noEmit"
}, },
"dependencies": { "dependencies": {
@ -33,12 +33,8 @@
"@babel/preset-env": "^7.25.3", "@babel/preset-env": "^7.25.3",
"@babel/preset-typescript": "^7.24.7", "@babel/preset-typescript": "^7.24.7",
"@types/node": "^20.14.14", "@types/node": "^20.14.14",
"@typescript-eslint/eslint-plugin": "^8.0.1",
"@typescript-eslint/parser": "^8.0.1",
"babel-loader": "^9.1.3", "babel-loader": "^9.1.3",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"fork-ts-checker-webpack-plugin": "^9.0.2", "fork-ts-checker-webpack-plugin": "^9.0.2",
"html-webpack-plugin": "^5.6.0", "html-webpack-plugin": "^5.6.0",
"ts-node": "^10.9.2", "ts-node": "^10.9.2",

View File

@ -31,7 +31,7 @@
"scripts": { "scripts": {
"build": "tsc", "build": "tsc",
"clean": "rimraf lib", "clean": "rimraf lib",
"lint": "eslint . --ext .ts", "lint": "eslint .",
"type-check": "tsc --noEmit", "type-check": "tsc --noEmit",
"prepack": "pnpm run clean && pnpm run build", "prepack": "pnpm run clean && pnpm run build",
"prepublish": "pnpm run lint" "prepublish": "pnpm run lint"
@ -46,10 +46,6 @@
}, },
"devDependencies": { "devDependencies": {
"@types/ramda": "^0.30.1", "@types/ramda": "^0.30.1",
"@typescript-eslint/eslint-plugin": "^8.0.1",
"@typescript-eslint/parser": "^8.0.1",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"rimraf": "^6.0.1", "rimraf": "^6.0.1",
"typescript": "~5.5.4" "typescript": "~5.5.4"
} }

View File

@ -5,11 +5,9 @@ import eslintTsJest from '../../eslint.ts.jest.config.base.mjs';
export default [ export default [
...eslintJs, ...eslintJs,
...eslintTs(import.meta.dirname), ...eslintTs(import.meta.dirname),
...eslintTsJest( ...eslintTsJest(['test/**/*.ts'], import.meta.dirname, [
['test/**/*.ts'],
import.meta.dirname,
'./tsconfig.test.json', './tsconfig.test.json',
), ]),
{ {
ignores: ['lib'], ignores: ['lib'],
}, },

View File

@ -256,18 +256,6 @@ importers:
'@types/ramda': '@types/ramda':
specifier: ^0.30.1 specifier: ^0.30.1
version: 0.30.1 version: 0.30.1
'@typescript-eslint/eslint-plugin':
specifier: ^8.0.1
version: 8.0.1(@typescript-eslint/parser@8.0.1)(eslint@8.57.0)(typescript@5.5.4)
'@typescript-eslint/parser':
specifier: ^8.0.1
version: 8.0.1(eslint@8.57.0)(typescript@5.5.4)
eslint:
specifier: ^8.57.0
version: 8.57.0
eslint-config-prettier:
specifier: ^9.1.0
version: 9.1.0(eslint@8.57.0)
rimraf: rimraf:
specifier: ^6.0.1 specifier: ^6.0.1
version: 6.0.1 version: 6.0.1
@ -296,24 +284,12 @@ importers:
'@types/node': '@types/node':
specifier: ^20.14.14 specifier: ^20.14.14
version: 20.14.14 version: 20.14.14
'@typescript-eslint/eslint-plugin':
specifier: ^8.0.1
version: 8.0.1(@typescript-eslint/parser@8.0.1)(eslint@8.57.0)(typescript@5.5.4)
'@typescript-eslint/parser':
specifier: ^8.0.1
version: 8.0.1(eslint@8.57.0)(typescript@5.5.4)
babel-loader: babel-loader:
specifier: ^9.1.3 specifier: ^9.1.3
version: 9.1.3(@babel/core@7.25.2)(webpack@5.93.0) version: 9.1.3(@babel/core@7.25.2)(webpack@5.93.0)
cross-env: cross-env:
specifier: ^7.0.3 specifier: ^7.0.3
version: 7.0.3 version: 7.0.3
eslint:
specifier: ^8.57.0
version: 8.57.0
eslint-config-prettier:
specifier: ^9.1.0
version: 9.1.0(eslint@8.57.0)
fork-ts-checker-webpack-plugin: fork-ts-checker-webpack-plugin:
specifier: ^9.0.2 specifier: ^9.0.2
version: 9.0.2(typescript@5.5.4)(webpack@5.93.0) version: 9.0.2(typescript@5.5.4)(webpack@5.93.0)