9bec21ea1c
* tap-bpm: simple CLI program that accepts key inputs and averages a BPM value * lyric-timing-mpv-script: If you press Ctrl+l, mpv attaches the current timestamp to a .lrc file named after the song. This is for manually timing missing songs for uploading them to https://lrclib.net/ * extension: vscode extension for `.lrc` files, currently with the following features: 1. A “jump to LRC position” command which reads an .lrc timestamp from the current line and expects mpv to listen on `~/tmp/mpv-socket` (via `--input-ipc-server`), and will seek to the exact timestamp (down to the ms) in the currently playing song. 2. Some initial linting warnings - A lint that warns if the difference to the next timestamp is more than 10s (which usually means there’s an instrumental and the previous line is stuck) - A lint that checks that timestamps are monotonically increasing Change-Id: I32a4ac0e2c5bbe3d94e45ffcf647f81bc7c08aa0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12537 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
42 lines
1.7 KiB
JavaScript
42 lines
1.7 KiB
JavaScript
import tseslint from "typescript-eslint";
|
|
import tsplugin from "@typescript-eslint/eslint-plugin";
|
|
import parser from "@typescript-eslint/parser";
|
|
|
|
export default tseslint.config(tseslint.configs.eslintRecommended, {
|
|
languageOptions: {
|
|
parser: parser,
|
|
parserOptions: {
|
|
projectService: true,
|
|
},
|
|
},
|
|
ignores: ["node_modules/", "eslint.config.mjs"],
|
|
plugins: { "@typescript-eslint": tsplugin },
|
|
rules: {
|
|
"prettier/prettier": "off",
|
|
"prefer-const": "warn",
|
|
"@typescript-eslint/ban-ts-comment": "warn",
|
|
"no-array-constructor": "off",
|
|
"@typescript-eslint/no-array-constructor": "warn",
|
|
"@typescript-eslint/no-duplicate-enum-values": "warn",
|
|
"@typescript-eslint/no-empty-object-type": "warn",
|
|
"@typescript-eslint/no-explicit-any": "warn",
|
|
"@typescript-eslint/no-extra-non-null-assertion": "warn",
|
|
"@typescript-eslint/no-misused-new": "warn",
|
|
"@typescript-eslint/no-namespace": "warn",
|
|
"@typescript-eslint/no-non-null-asserted-optional-chain": "warn",
|
|
"@typescript-eslint/no-require-imports": "warn",
|
|
"@typescript-eslint/no-this-alias": "warn",
|
|
"@typescript-eslint/no-unnecessary-type-constraint": "warn",
|
|
"@typescript-eslint/no-unsafe-declaration-merging": "warn",
|
|
"@typescript-eslint/no-unsafe-function-type": "warn",
|
|
"@typescript-eslint/strict-boolean-expressions": ["warn"],
|
|
"no-unused-expressions": "off",
|
|
"@typescript-eslint/no-unused-expressions": "warn",
|
|
"no-unused-vars": "off",
|
|
"@typescript-eslint/no-unused-vars": "warn",
|
|
"@typescript-eslint/no-wrapper-object-types": "warn",
|
|
"@typescript-eslint/prefer-as-const": "warn",
|
|
"@typescript-eslint/prefer-namespace-keyword": "warn",
|
|
"@typescript-eslint/triple-slash-reference": "warn",
|
|
},
|
|
});
|