@remotion/eslint-config-flat 4.0.253

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ import type { Linter } from 'eslint';
2
+ export declare const getPlugins: (react: boolean) => Linter.Config["plugins"];
@@ -0,0 +1,4 @@
1
+ import typescriptPlugin from '@typescript-eslint/eslint-plugin';
2
+ export const getPlugins = (react) => ({
3
+ '@typescript-eslint': typescriptPlugin,
4
+ });
@@ -0,0 +1,2 @@
1
+ import tseslint from 'typescript-eslint';
2
+ export declare const config: tseslint.ConfigArray;
package/dist/index.js ADDED
@@ -0,0 +1,46 @@
1
+ import eslint from '@eslint/js';
2
+ import remotionPlugin from '@remotion/eslint-plugin';
3
+ import reactPlugin from 'eslint-plugin-react';
4
+ // @ts-expect-error no types
5
+ import hooksPlugin from 'eslint-plugin-react-hooks';
6
+ import tseslint from 'typescript-eslint';
7
+ export const config = tseslint.config({
8
+ ignores: ['**/build/**', '**/dist/**', '**/out/**'],
9
+ }, eslint.configs.recommended, tseslint.configs.recommended, {
10
+ plugins: {
11
+ react: reactPlugin,
12
+ 'react-hooks': hooksPlugin,
13
+ '@remotion': remotionPlugin,
14
+ },
15
+ languageOptions: {
16
+ ...reactPlugin.configs.flat.recommended.languageOptions,
17
+ parser: tseslint.parser,
18
+ parserOptions: {
19
+ projectService: true,
20
+ },
21
+ },
22
+ rules: {
23
+ ...reactPlugin.configs.recommended.rules,
24
+ ...hooksPlugin.configs.recommended.rules,
25
+ ...remotionPlugin.configs.recommended.rules,
26
+ // Turning off rules that are too strict or don't apply to Remotion
27
+ 'no-console': 'off',
28
+ 'react/jsx-key': 'off',
29
+ 'react/jsx-no-target-blank': 'off',
30
+ // In Root.tsx we encourage using fragment for just a single composition
31
+ // since we intend to add more compositions later and you should then use a fragment.
32
+ 'react/jsx-no-useless-fragment': 'off',
33
+ // This is generally okay because on every frame, there will be a full rerender anyway!
34
+ 'react/no-array-index-key': 'off',
35
+ 'react/react-in-jsx-scope': 'off',
36
+ 'react/prop-types': 'off',
37
+ },
38
+ settings: {
39
+ react: {
40
+ version: 'detect',
41
+ },
42
+ },
43
+ }, {
44
+ files: ['**/*.js'],
45
+ extends: [tseslint.configs.disableTypeChecked],
46
+ });
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "repository": {
3
+ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/eslint-config-flat"
4
+ },
5
+ "name": "@remotion/eslint-config-flat",
6
+ "version": "4.0.253",
7
+ "description": "Default configuration for Remotion templates (ESLint >= 9)",
8
+ "main": "dist/index.js",
9
+ "type": "module",
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "bugs": {
14
+ "url": "https://github.com/remotion-dev/remotion/issues"
15
+ },
16
+ "author": "Jonny Burger <jonny@remotion.dev>",
17
+ "license": "ISC",
18
+ "dependencies": {
19
+ "typescript-eslint": "8.21.0",
20
+ "@eslint/js": "9.14.0",
21
+ "eslint-plugin-react": "7.37.4",
22
+ "eslint-plugin-react-hooks": "5.2.0-canary-de1eaa26-20250124",
23
+ "@remotion/eslint-plugin": "4.0.253"
24
+ },
25
+ "peerDependencies": {
26
+ "eslint": ">=9"
27
+ },
28
+ "devDependencies": {
29
+ "eslint": "9.14.0",
30
+ "@remotion/eslint-config-internal": "4.0.253"
31
+ },
32
+ "keywords": [
33
+ "remotion",
34
+ "video",
35
+ "react",
36
+ "player"
37
+ ],
38
+ "publishConfig": {
39
+ "access": "public"
40
+ },
41
+ "homepage": "https://www.remotion.dev/docs/brownfield#install-the-eslint-plugin",
42
+ "scripts": {
43
+ "lint": "eslint src",
44
+ "formatting": "prettier src --check",
45
+ "make": "tsc -d && bun --env-file=../.env.bundle bundle.ts"
46
+ }
47
+ }