Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
49ecaac
Initial typescript setup
lordmathis Apr 3, 2025
e4fb276
Migrate utils to ts
lordmathis Apr 4, 2025
46e4897
Add TypeScript types for App component
lordmathis Apr 15, 2025
0769aa2
Fix default database URL and type in Config
lordmathis Apr 18, 2025
e789025
Refactor authentication API service to TypeScript
lordmathis Apr 18, 2025
043eab4
Migrating from services to dedicated API files
lordmathis May 3, 2025
8849dee
Migrate admin API to typescript
lordmathis May 5, 2025
905df9f
Migrate file api ops to ts
lordmathis May 5, 2025
66fe5e4
Migrate user api to ts
lordmathis May 6, 2025
02c8100
Migrate workspace api to ts
lordmathis May 6, 2025
1e350bb
Migrate git api to ts
lordmathis May 6, 2025
1a06c31
Migrate AuthContext
lordmathis May 8, 2025
14b1a46
Migrate ModalContext and WorkspaceContext
lordmathis May 8, 2025
bc60cb3
Migrate useAdminData to TypeScript with improved type safety and erro…
lordmathis May 8, 2025
1c477f1
Migrate useFileContent hook
lordmathis May 11, 2025
a7c83d0
Migrate useFileList
lordmathis May 11, 2025
5dc427c
Migrate useFileNavigation hook
lordmathis May 11, 2025
f3691d4
Migrate useFileOperations
lordmathis May 11, 2025
32cb89d
Migrate useGitOperations
lordmathis May 11, 2025
c6d46df
Migrate useLastOpenedFile hook
lordmathis May 11, 2025
5fcd24d
Migrate useProfileSettings hook
lordmathis May 11, 2025
b7be5a4
Migrate useUserAdmin
lordmathis May 11, 2025
924d710
Migrate all modals to ts
lordmathis May 12, 2025
c478e8e
Migrate account settings
lordmathis May 16, 2025
7044e42
Migrate admin dashboard to ts
lordmathis May 18, 2025
9125cbd
Migrate workspace settings to ts
lordmathis May 18, 2025
a8a5255
Migrate navigation to ts
lordmathis May 18, 2025
834a7b1
Migrate layout
lordmathis May 18, 2025
db75bdc
Migrate file components
lordmathis May 18, 2025
bfc5cc2
Migrate edito components
lordmathis May 18, 2025
3619cf4
Update ts configuration
lordmathis May 18, 2025
60ab01b
Fix type-check issues
lordmathis May 18, 2025
16fbbec
Configure eslint
lordmathis May 18, 2025
2f181d0
Run npm lint:fix
lordmathis May 18, 2025
32218e5
Refactor types
lordmathis May 22, 2025
646a897
Fix some lint issues
lordmathis May 22, 2025
ad2334c
Refactor imports and handle async operations in components
lordmathis May 23, 2025
78de42d
Fix various eslint issues
lordmathis May 23, 2025
2519d46
Refactor Node component to destructure props and improve onNodeClick …
lordmathis May 23, 2025
623f619
Fix more lint issues
lordmathis May 23, 2025
e43efc7
Refactor type definitions in AuthenticatedContent and App components
lordmathis May 23, 2025
15538b2
Refactor theme styles for hover, accordion, and workspace components
lordmathis May 23, 2025
f511daf
Refactor ESLint config
lordmathis May 23, 2025
ab3cb56
Add IF NOT EXISTS clause to index creation for sessions and workspace…
lordmathis May 24, 2025
07e0647
Refactor type guards for LoginResponse and UserRole to improve valida…
lordmathis May 24, 2025
34ac76b
Fix async handling for API response in updateProfile and workspace fu…
lordmathis May 24, 2025
6cf1182
Update Workspace interface for optional properties
lordmathis May 24, 2025
a724bc4
Refactor workspace context usage to improve structure and introduce T…
lordmathis May 25, 2025
ecc1fe9
Fix logout button
lordmathis May 25, 2025
d2c4a84
Refactor API call to include CSRF token handling for non-GET requests
lordmathis May 25, 2025
fe2a466
Add URL decoding for workspace and file paths in handlers
lordmathis May 25, 2025
f3f2dee
Update default DBURL to use sqlite:// format in DefaultConfig
lordmathis May 25, 2025
ca602bd
Refactor TypeScript workflow to set working directory in defaults
lordmathis May 25, 2025
3926a27
Fix cache dependency path in TypeScript workflow
lordmathis May 25, 2025
694f842
Merge pull request #49 from lordmathis/workspace_context
lordmathis May 25, 2025
63f3679
Merge branch 'main' into feat/typescript
lordmathis May 25, 2025
47b88cb
Potential fix for code scanning alert no. 7: Workflow does not contai…
lordmathis May 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/workflows/typescript.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: TypeScript Type Check

permissions:
contents: read

on:
push:
branches:
- "*"
pull_request:
branches:
- main

jobs:
type-check:
name: TypeScript Type Check
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./app

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
cache: "npm"
cache-dependency-path: "./app/package-lock.json"

- name: Install dependencies
run: npm ci

- name: Run TypeScript type check
run: npm run type-check

- name: Run ESLint
run: npm run lint
continue-on-error: true
31 changes: 0 additions & 31 deletions app/.eslintrc.json

This file was deleted.

107 changes: 107 additions & 0 deletions app/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
import { defineConfig, globalIgnores } from 'eslint/config';
import { fixupConfigRules, fixupPluginRules } from '@eslint/compat';
import react from 'eslint-plugin-react';
import reactHooks from 'eslint-plugin-react-hooks';
import typescriptEslint from '@typescript-eslint/eslint-plugin';
import tsParser from '@typescript-eslint/parser';
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 defineConfig([
globalIgnores([
'**/node_modules',
'**/dist',
'**/build',
'**/coverage',
'**/public',
'**/*.js',
'**/vite.config.ts',
'**/eslint.config.mjs',
]),
{
extends: fixupConfigRules(
compat.extends(
'eslint:recommended',
'plugin:react/recommended',
'plugin:react-hooks/recommended',
'plugin:@typescript-eslint/recommended',
'plugin:@typescript-eslint/recommended-requiring-type-checking'
)
),

plugins: {
react: fixupPluginRules(react),
'react-hooks': fixupPluginRules(reactHooks),
'@typescript-eslint': fixupPluginRules(typescriptEslint),
},

languageOptions: {
parser: tsParser,
ecmaVersion: 2022,
sourceType: 'module',

parserOptions: {
ecmaFeatures: {
jsx: true,
},

project: './tsconfig.json',
},
},

settings: {
react: {
version: 'detect',
},
},

rules: {
'no-console': [
'warn',
{
allow: ['warn', 'error', 'debug'],
},
],

'no-duplicate-imports': 'error',
'no-unused-vars': 'off',
'react/prop-types': 'off',
'react/react-in-jsx-scope': 'off',
'react-hooks/rules-of-hooks': 'error',
'react-hooks/exhaustive-deps': 'warn',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'warn',

'@typescript-eslint/no-unused-vars': [
'warn',
{
argsIgnorePattern: '^_',
varsIgnorePattern: '^_',
caughtErrorsIgnorePattern: '^_',
},
],

'@typescript-eslint/consistent-type-imports': [
'warn',
{
prefer: 'type-imports',
},
],

'@typescript-eslint/no-misused-promises': 'warn',
'@typescript-eslint/no-floating-promises': 'warn',
'@typescript-eslint/unbound-method': 'off',
'@typescript-eslint/no-non-null-assertion': 'warn',
},
},
]);
Loading
Loading