mirror of
https://github.com/hcengineering/platform.git
synced 2026-09-09 11:17:43 +02:00
remove to prepare for subtree
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
This commit is contained in:
@@ -1,61 +0,0 @@
|
||||
# Huly Server - Copilot Context
|
||||
|
||||
## Project Overview
|
||||
|
||||
**Monorepo**: Rush-managed backend infrastructure for Huly Platform
|
||||
**Stack**: TypeScript, Node.js v20.11.0+, pnpm 10.15.1, Rush 5.158.1, Jest
|
||||
**License**: Eclipse Public License 2.0 (Hardcore Engineering Inc.)
|
||||
|
||||
## Package Categories
|
||||
|
||||
- **Core**: core, server, client, middleware
|
||||
- **Database**: mongo, postgres, elastic
|
||||
- **Storage**: server-storage, minio, s3, datalake, hulylake
|
||||
- **Infrastructure**: kafka, collaboration
|
||||
|
||||
Standard structure: `src/` → `lib/` (compiled), `tsconfig.json`, `jest.config.js`, `package.json` with `@hcengineering/` scope
|
||||
|
||||
## Essential Commands
|
||||
|
||||
**Setup & Build:**
|
||||
|
||||
```bash
|
||||
rush install # Install dependencies
|
||||
rush build # Build all packages
|
||||
cd packages/<pkg> && rushx build # Build specific package
|
||||
```
|
||||
|
||||
**Testing:**
|
||||
|
||||
```bash
|
||||
cd tests && ./prepare-tests.sh # First time: start Docker services (Elasticsearch, MongoDB, CockroachDB, Redpanda)
|
||||
rush test # Run all tests
|
||||
npm run test:coverage # With coverage
|
||||
```
|
||||
|
||||
**Common Tasks:**
|
||||
|
||||
- New package: Create dir in `packages/`, add to `rush.json`, run `rush update`
|
||||
- Update deps: Edit `package.json`, run `rush update`, verify with `rush build`
|
||||
- Troubleshoot: Check `packages/<pkg>/rush-logs/` for build errors, `coverage/` for test results
|
||||
|
||||
## Key Concepts
|
||||
|
||||
- **Domain Model**: WorkspaceIds (multi-tenant), Transactions (Tx), Documents (Doc), Domains, Permissions
|
||||
- **Architecture**: Pluggable adapters, middleware pipeline, abstract storage, Kafka messaging, CRDT collaboration
|
||||
- **Testing**: Docker Compose integration tests in `tests/`, `prepare-tests.sh` auto-detects running containers
|
||||
|
||||
## Coding Standards
|
||||
|
||||
- TypeScript strict mode, Prettier formatting
|
||||
- Imports: `@hcengineering/` namespace, named imports, grouped (external/internal/types)
|
||||
- Errors: `PlatformError` from `@hcengineering/platform`, `unknownError` wrapper
|
||||
- Async: `async/await`, `MeasureContext` for cancellation, cleanup in finally blocks
|
||||
- Security: No secrets in code, validate inputs, prepared statements, rate limiting
|
||||
|
||||
## Quick Reference
|
||||
|
||||
- Config: `rush.json`, `.nvmrc`, `common/config/rush/`
|
||||
- Logs: `packages/<pkg>/rush-logs/`, `coverage/html/`
|
||||
- Docs: `docs/tx-ordering-middleware-implementation.md`
|
||||
- Tests: Force restart with `docker compose -p sanity down`
|
||||
-52
@@ -1,52 +0,0 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ['main']
|
||||
tags:
|
||||
- 'v0.7.*'
|
||||
- 's0.7.*'
|
||||
pull_request:
|
||||
branches: ['main']
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 2
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 22
|
||||
- name: Verify Change Logs
|
||||
run: node common/scripts/install-run-rush.js change --verify
|
||||
- name: Rush Install
|
||||
run: node common/scripts/install-run-rush.js install
|
||||
- name: Rush validate
|
||||
run: node common/scripts/install-run-rush.js validate --verbose
|
||||
- name: Formatting...
|
||||
run: node common/scripts/install-run-rush.js format --force
|
||||
- name: Check files formatting
|
||||
run: |
|
||||
echo '================================================================'
|
||||
echo 'Checking for diff files'
|
||||
echo '================================================================'
|
||||
git diff '*.js' '*.ts' '*.svelte' '*.json' '*.yaml' | cat
|
||||
[ -z "$(git diff --name-only '*.js' '*.ts' '*.svelte' '*.json' '*.yaml' | cat)" ]
|
||||
echo '================================================================'
|
||||
- name: Prepare server
|
||||
run: |
|
||||
cd ./tests
|
||||
./prepare-tests.sh
|
||||
- name: Testing...
|
||||
run: node common/scripts/install-run-rush.js test --verbose
|
||||
env:
|
||||
DB_URL: 'postgresql://root@localhost:26258/defaultdb?sslmode=disable'
|
||||
ELASTIC_URL: 'http://localhost:9201'
|
||||
MONGO_URL: 'mongodb://localhost:27018'
|
||||
- name: Publish packages
|
||||
if: startsWith(github.ref, 'refs/tags/v0.7.') || startsWith(github.ref, 'refs/tags/s0.7.')
|
||||
env:
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
run: node common/scripts/install-run-rush.js publish --include-all --publish
|
||||
Reference in New Issue
Block a user