last commit before trying out opencode on repo

This commit is contained in:
2026-01-11 10:17:30 -05:00
parent 843b264c61
commit 91682bd887
85 changed files with 1589 additions and 1196 deletions

View File

@@ -0,0 +1 @@
[["1","2","3","4","5"],{"key":"6","value":"7"},{"key":"8","value":"9"},{"key":"10","value":"11"},{"key":"12","value":"13"},{"key":"14","value":"15"},"/home/gib/Documents/Code/studybuddy/tools/eslint/base.ts",{"size":2511,"mtime":1768143609481,"data":"16"},"/home/gib/Documents/Code/studybuddy/tools/eslint/nextjs.ts",{"size":440,"mtime":1768143609505,"data":"17"},"/home/gib/Documents/Code/studybuddy/tools/eslint/package.json",{"size":979,"mtime":1767666484841,"data":"18"},"/home/gib/Documents/Code/studybuddy/tools/eslint/react.ts",{"size":592,"mtime":1768143609549,"data":"19"},"/home/gib/Documents/Code/studybuddy/tools/eslint/tsconfig.json",{"size":94,"mtime":1767666484841,"data":"20"},{"hashOfOptions":"21"},{"hashOfOptions":"22"},{"hashOfOptions":"23"},{"hashOfOptions":"24"},{"hashOfOptions":"25"},"1431902546","3979710663","3047921244","3279956730","3404194763"]

View File

@@ -1,33 +1,33 @@
import * as path from "node:path";
import { includeIgnoreFile } from "@eslint/compat";
import eslint from "@eslint/js";
import importPlugin from "eslint-plugin-import";
import turboPlugin from "eslint-plugin-turbo";
import { defineConfig } from "eslint/config";
import tseslint from "typescript-eslint";
import * as path from 'node:path';
import { includeIgnoreFile } from '@eslint/compat';
import eslint from '@eslint/js';
import importPlugin from 'eslint-plugin-import';
import turboPlugin from 'eslint-plugin-turbo';
import { defineConfig } from 'eslint/config';
import tseslint from 'typescript-eslint';
/**
* All packages that leverage t3-env should use this rule
*/
export const restrictEnvAccess = defineConfig(
{ ignores: ["**/env.ts"] },
{ ignores: ['**/env.ts'] },
{
files: ["**/*.js", "**/*.ts", "**/*.tsx"],
files: ['**/*.js', '**/*.ts', '**/*.tsx'],
rules: {
"no-restricted-properties": [
"error",
'no-restricted-properties': [
'error',
{
object: "process",
property: "env",
object: 'process',
property: 'env',
message:
"Use `import { env } from '@/env'` instead to ensure validated types.",
},
],
"no-restricted-imports": [
"error",
'no-restricted-imports': [
'error',
{
name: "process",
importNames: ["env"],
name: 'process',
importNames: ['env'],
message:
"Use `import { env } from '@/env'` instead to ensure validated types.",
},
@@ -38,10 +38,10 @@ export const restrictEnvAccess = defineConfig(
export const baseConfig = defineConfig(
// Ignore files not tracked by VCS and any config files
includeIgnoreFile(path.join(import.meta.dirname, "../../.gitignore")),
{ ignores: ["**/*.config.*"] },
includeIgnoreFile(path.join(import.meta.dirname, '../../.gitignore')),
{ ignores: ['**/*.config.*'] },
{
files: ["**/*.js", "**/*.ts", "**/*.tsx"],
files: ['**/*.js', '**/*.ts', '**/*.tsx'],
plugins: {
import: importPlugin,
turbo: turboPlugin,
@@ -54,26 +54,26 @@ export const baseConfig = defineConfig(
],
rules: {
...turboPlugin.configs.recommended.rules,
"@typescript-eslint/no-unused-vars": [
"error",
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
'@typescript-eslint/no-unused-vars': [
'error',
{ argsIgnorePattern: '^_', varsIgnorePattern: '^_' },
],
"@typescript-eslint/consistent-type-imports": [
"warn",
{ prefer: "type-imports", fixStyle: "separate-type-imports" },
'@typescript-eslint/consistent-type-imports': [
'warn',
{ prefer: 'type-imports', fixStyle: 'separate-type-imports' },
],
"@typescript-eslint/no-misused-promises": [
'@typescript-eslint/no-misused-promises': [
2,
{ checksVoidReturn: { attributes: false } },
],
"@typescript-eslint/no-unnecessary-condition": [
"error",
'@typescript-eslint/no-unnecessary-condition': [
'error',
{
allowConstantLoopConditions: true,
},
],
"@typescript-eslint/no-non-null-assertion": "error",
"import/consistent-type-specifier-style": ["error", "prefer-top-level"],
'@typescript-eslint/no-non-null-assertion': 'error',
'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],
},
},
{

View File

@@ -1,15 +1,15 @@
import nextPlugin from "@next/eslint-plugin-next";
import { defineConfig } from "eslint/config";
import nextPlugin from '@next/eslint-plugin-next';
import { defineConfig } from 'eslint/config';
export const nextjsConfig = defineConfig({
files: ["**/*.ts", "**/*.tsx"],
files: ['**/*.ts', '**/*.tsx'],
plugins: {
"@next/next": nextPlugin,
'@next/next': nextPlugin,
},
rules: {
...nextPlugin.configs.recommended.rules,
...nextPlugin.configs["core-web-vitals"].rules,
...nextPlugin.configs['core-web-vitals'].rules,
// TypeError: context.getAncestors is not a function
"@next/next/no-duplicate-head": "off",
'@next/next/no-duplicate-head': 'off',
},
});

View File

@@ -1,19 +1,19 @@
import reactPlugin from "eslint-plugin-react";
import reactHooks from "eslint-plugin-react-hooks";
import { defineConfig } from "eslint/config";
import reactPlugin from 'eslint-plugin-react';
import reactHooks from 'eslint-plugin-react-hooks';
import { defineConfig } from 'eslint/config';
export const reactConfig = defineConfig(
{
files: ["**/*.ts", "**/*.tsx"],
files: ['**/*.ts', '**/*.tsx'],
...reactPlugin.configs.flat.recommended,
...reactPlugin.configs.flat["jsx-runtime"],
...reactPlugin.configs.flat['jsx-runtime'],
languageOptions: {
...reactPlugin.configs.flat.recommended?.languageOptions,
...reactPlugin.configs.flat["jsx-runtime"]?.languageOptions,
...reactPlugin.configs.flat['jsx-runtime']?.languageOptions,
globals: {
React: "writable",
React: 'writable',
},
},
},
reactHooks.configs.flat["recommended-latest"]!,
reactHooks.configs.flat['recommended-latest']!,
);