Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
de80ad3
Add GitHub Actions CI workflow
CreatmanCEO Jan 26, 2025
7e70bf6
Add ESLint configuration
CreatmanCEO Jan 26, 2025
d980ef0
Update package.json with new dependencies and scripts
CreatmanCEO Jan 26, 2025
04bff00
Update CONTROL.md with CI/CD information
CreatmanCEO Jan 26, 2025
8ac87d2
Update package.json with compatible dependencies
CreatmanCEO Jan 27, 2025
25839ff
Replace google-translate-api-free with @vitalets/google-translate-api
CreatmanCEO Jan 27, 2025
f0c8a89
Add ESLint configuration for React client
CreatmanCEO Jan 27, 2025
1c88521
Update client package.json with ESLint dependencies
CreatmanCEO Jan 27, 2025
ec12b11
Fix Translator service - remove template literals with unicode escapes
CreatmanCEO Jan 27, 2025
3535707
Fix TextExtractor service - clean up unused variables and simplify code
CreatmanCEO Jan 27, 2025
6ed45d7
Clean up TextExtractor service - remove unused dependencies and param…
CreatmanCEO Jan 27, 2025
3293571
Update client ESLint configuration with proper environment setup
CreatmanCEO Jan 27, 2025
ccaa80b
Clean up TranslationProgress component - remove unused variables
CreatmanCEO Jan 27, 2025
3859f9e
Clean up DocumentGenerator - remove unused imports and simplify code
CreatmanCEO Jan 27, 2025
0a34e81
Simplify LayoutExtractor by removing unused dependencies and refactor…
CreatmanCEO Jan 27, 2025
975e51a
Fix translate API - remove unused job variable and improve error hand…
CreatmanCEO Jan 27, 2025
d36492f
Fix error handler - use next parameter properly
CreatmanCEO Jan 27, 2025
24438c4
Fix DocumentUpload component - add validateFile to useCallback depend…
CreatmanCEO Jan 27, 2025
9b4e0a5
fix: Add Bull import and fix linting errors
CreatmanCEO Jan 27, 2025
5e9bf79
fix: Remove unused HeadingLevel import
CreatmanCEO Jan 27, 2025
4401b12
fix: Correct string template literal syntax in console.log
CreatmanCEO Jan 27, 2025
95fbb05
docs: Update CONTROL.md with latest CI/CD progress
CreatmanCEO Jan 27, 2025
d25865e
chore: Update dependencies for CI/CD requirements
CreatmanCEO Jan 27, 2025
990aea4
fix: Implement graceful shutdown and replace process.exit
CreatmanCEO Jan 27, 2025
ff25657
docs: Convert CONTROL.md to English and optimize structure
CreatmanCEO Jan 27, 2025
dda78e6
chore: Update vitest to v3.0.0 and related dependencies
CreatmanCEO Jan 27, 2025
3e5f1b1
fix: Remove Azure dependencies and update package list
CreatmanCEO Jan 27, 2025
9745396
fix: Switch from Azure to Google Translate API
CreatmanCEO Jan 27, 2025
4672303
chore: Update translation dependencies
CreatmanCEO Jan 27, 2025
bad5b63
feat: Implement translation service with hebrew-transliteration and r…
CreatmanCEO Jan 27, 2025
f3cbaf7
docs: Update CONTROL.md with translation service changes
CreatmanCEO Jan 27, 2025
e1901f7
fix: Update vitest dependencies to latest compatible versions
CreatmanCEO Jan 27, 2025
0dd59e4
refactor: Clean up document processor imports and unused code
CreatmanCEO Jan 27, 2025
c9df513
fix: Replace file-type with mime-types in file validation
CreatmanCEO Jan 27, 2025
5f6a795
fix: Remove unused imports in DocumentGenerator
CreatmanCEO Jan 27, 2025
4d24d75
fix: Add class definitions and improve layout extraction
CreatmanCEO Jan 27, 2025
562cc5f
chore: Add ESLint override for test files
CreatmanCEO Jan 27, 2025
6e49fd9
chore: Update ESLint config for test and config files
CreatmanCEO Jan 27, 2025
1c6203d
chore: Update ESLint config with modern JS support
CreatmanCEO Jan 27, 2025
1362db2
docs: Update CONTROL.md with latest infrastructure changes
CreatmanCEO Jan 27, 2025
6bf0248
ci: Add GitHub Actions workflow for CI/CD
CreatmanCEO Jan 31, 2025
19242d7
ci: Add Dependabot configuration
CreatmanCEO Jan 31, 2025
6483c27
docs: Update CONTROL.md with CI/CD implementation details
CreatmanCEO Jan 31, 2025
bf6987b
ci: Add Dependabot configuration
CreatmanCEO Jan 31, 2025
088014c
ci: Add deployment workflow for staging and production
CreatmanCEO Jan 31, 2025
93a12ae
test: Add unit tests for Translator service
CreatmanCEO Jan 31, 2025
1fec57e
test: Add comprehensive tests for Translator service
CreatmanCEO Jan 31, 2025
ec03f58
docs: Update CONTROL.md with testing details and locations
CreatmanCEO Jan 31, 2025
fc07e66
chore: Update test scripts to use cross-env and sync dependencies
CreatmanCEO Jan 31, 2025
ac12ae7
chore: Add @vitejs/plugin-react for testing setup
CreatmanCEO Feb 1, 2025
4391856
chore: Add Vitest configuration file
CreatmanCEO Feb 1, 2025
0e42791
fix: Update Translator service to handle errors and rate limits corre…
CreatmanCEO Feb 1, 2025
06bdc73
chore: Increase test timeout and update config
CreatmanCEO Feb 1, 2025
31d74b3
fix: Improve mixed content handling and error messages
CreatmanCEO Feb 1, 2025
e69ff46
docs: Update CONTROL.md with latest testing progress and infrastructu…
CreatmanCEO Feb 1, 2025
4e2935b
test: Add mock for google-translate-api
CreatmanCEO Feb 1, 2025
ec80961
test: Update unit tests to use mocks
CreatmanCEO Feb 1, 2025
45a0bbc
test: Add global test setup file
CreatmanCEO Feb 1, 2025
1794585
refactor: Reorganize mocks for better testing setup
CreatmanCEO Feb 1, 2025
b00a7c1
fix: Update test setup with proper mock initialization
CreatmanCEO Feb 1, 2025
2802a87
fix: Update unit tests to use new mock configuration
CreatmanCEO Feb 1, 2025
e45bcbf
refactor: Reorganize mocks with proper module structure
CreatmanCEO Feb 1, 2025
4fb30f4
test: Update tests to use Jest and proper mocking
CreatmanCEO Feb 1, 2025
54c8cf5
docs: Update CONTROL.md with testing improvements
CreatmanCEO Feb 1, 2025
233b587
Add comprehensive product vision document
CreatmanCEO May 6, 2026
4680a69
Add comprehensive product vision and developer guide
CreatmanCEO May 6, 2026
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
64 changes: 64 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
/**
* ESLint конфигурация для Hebrew Document Translator
* Версия: 1.0.0
* Дата: 27.01.2025
*/

module.exports = {
env: {
node: true,
es2021: true,
jest: true,
},
extends: [
'eslint:recommended',
'plugin:node/recommended',
],
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
},
rules: {
'node/no-missing-require': ['error', {
allowModules: ['bull', 'pdf.js-extract', 'mammoth'],
tryExtensions: ['.js', '.json', '.node']
}],
'node/no-extraneous-require': ['error', {
allowModules: ['mime-types']
}],
'no-unused-vars': ['error', {
argsIgnorePattern: '^_',
varsIgnorePattern: '^_',
}],
},
overrides: [
{
// Тестовые и конфигурационные файлы с ES модулями
files: [
'tests/**/*.js',
'test/**/*.js',
'**/*.test.js',
'**/*.spec.js',
'tests/setup.js',
'*.config.js',
'.eslintrc.js',
'vitest.*.js',
'playwright.*.js'
],
rules: {
'node/no-unpublished-require': 'off',
'node/no-unpublished-import': 'off',
'node/no-unsupported-features/es-syntax': 'off',
'node/no-missing-import': 'off'
},
env: {
jest: true,
mocha: true,
},
parserOptions: {
sourceType: 'module',
ecmaVersion: 'latest'
}
}
]
};
50 changes: 50 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
version: 2
updates:
# Проверка npm зависимостей
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:00"
timezone: "UTC"
open-pull-requests-limit: 10
versioning-strategy: increase
labels:
- "dependencies"
- "npm"
commit-message:
prefix: "chore"
include: "scope"
reviewers:
- "CreatmanCEO"
groups:
dev-dependencies:
patterns:
- "*eslint*"
- "*prettier*"
- "*test*"
production-dependencies:
patterns:
- "*"
exclude-patterns:
- "*eslint*"
- "*prettier*"
- "*test*"

# Проверка GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:00"
timezone: "UTC"
labels:
- "dependencies"
- "github-actions"
commit-message:
prefix: "chore"
include: "scope"
reviewers:
- "CreatmanCEO"
179 changes: 179 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
name: CI

on:
push:
branches: [ main, develop, 'feature/**' ]
pull_request:
branches: [ main, develop ]

# Права для GITHUB_TOKEN
permissions:
contents: read
security-events: write

# Настройка одновременного запуска задач
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
NODE_VERSION: '18.x'
REDIS_HOST: localhost
REDIS_PORT: 6379

jobs:
lint:
name: Code Quality
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Run ESLint
run: npm run lint

- name: Check formatting
run: npx prettier --check .

test:
name: Tests
runs-on: ubuntu-latest
needs: lint

services:
redis:
image: redis
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5

steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Run tests
run: |
npm run test
npm run test:integration
env:
NODE_ENV: test
REDIS_HOST: ${{ env.REDIS_HOST }}
REDIS_PORT: ${{ env.REDIS_PORT }}

- name: Upload test coverage
uses: actions/upload-artifact@v4
with:
name: coverage
path: coverage/

e2e:
name: E2E Tests
runs-on: ubuntu-latest
needs: lint

steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Install Playwright browsers
run: npx playwright install --with-deps

- name: Run E2E tests
run: npm run test:e2e

- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-results
path: test-results/

security:
name: Security Scan
runs-on: ubuntu-latest
needs: lint

steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Run npm audit
run: npm audit

- name: Run CodeQL Analysis
uses: github/codeql-action/init@v3
with:
languages: javascript

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3

- name: Check for vulnerable dependencies
uses: snyk/actions/node@master
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
continue-on-error: true

build:
name: Build
runs-on: ubuntu-latest
needs: [test, e2e, security]
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop')

steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Build application
run: npm run build

- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: build
path: dist/
Loading
Loading