TASKS-1823 WebManager module
This commit is contained in:
@@ -9,17 +9,56 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### Added
|
||||
|
||||
- Added an `ApiException` base class whose self-handling renders module exceptions as
|
||||
`{ message, code }` JSON responses, so exception classes no longer need registration in the
|
||||
global HTTP exception handler.
|
||||
- Added `@crux-kit/editor-tiptap`, a free, headless rich-text editor package built on TipTap. The `light` preset covers bold, italic, underline,
|
||||
strikethrough, headings, lists, blockquote, text alignment, links, and undo/redo, reading and
|
||||
writing content as plain HTML so it themes with the shared design-system tokens.
|
||||
- Added the `InputTiptapEditor` composed form field.
|
||||
- Added `useIntlDate` and `useIntlName` hooks under `apps/admin/src/app/i18n`, each returning a
|
||||
formatter bound to the active UI language. Reading the language from context is what subscribes a
|
||||
component to a language switch; components that read the `IntlDate`/`IntlName` singletons directly
|
||||
|
||||
### Changed
|
||||
|
||||
- Moved module generation fully server-side. The admin devtools now sends the raw generator config
|
||||
(`{ name, table, generate, form, datatable }`) instead of pre-rendered source strings, and the
|
||||
six frontend source builders were ported verbatim from the admin to
|
||||
`apps/backend/app/services/module_generator`.
|
||||
- Refactored `module_controller.ts` (~500 lines) into a thin HTTP controller delegating to focused
|
||||
`module_generator` service modules: an orchestrator, schema-derived context building, naming and
|
||||
DB-type helpers, a template renderer, and `builders/` + `writers/` subdirectories.
|
||||
- Split the root `.env` into per-workspace env files (`apps/backend/.env`, `apps/admin/.env`,
|
||||
`apps/web/.env`) so each app only ingests the variables it uses. Every `docker-compose.yml`
|
||||
service now loads its own app's env file, and the admin (Vite) and web (Next.js) apps rely on
|
||||
their frameworks' native env loading instead of custom root-file merging.
|
||||
- Renamed cross-app URL env variables: `PAGE_MANAGER_API_URL` → `BACKEND_API_URL` in the web app
|
||||
and `VITE_PAGE_MANAGER_WEB_URL` → `VITE_WEB_URL` in the admin app.
|
||||
- File Manager exceptions now extend `ApiException`.
|
||||
- Extracted the admin i18n context out of `I18nProvider` into `app/i18n/context.ts` and
|
||||
`app/i18n/useLanguage.ts`, so components reach the active language through a side-effect-free
|
||||
module instead of importing the provider and executing its module body.
|
||||
- The selected language is now persisted to local storage as its code rather than as the whole
|
||||
`Language` object.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed admin menu highlighting, which marked every ancestor entry active at once.
|
||||
- Fixes the containing section staying collapsed when a sub-route is opened directly.
|
||||
- Fixed backend functional test discovery: the `tests/**/*.spec.(ts|js)` globs in `adonisrc.ts`
|
||||
are not valid for the native `fs.glob` used by Japa v5, so the suite silently ran zero tests.
|
||||
- Fixed the backend `lint` script path (`../scripts` → `../../scripts`), which made
|
||||
`npm run lint` fail before linting.
|
||||
- Removed the stale Japa v1-era `@japa/spec-reporter` wiring from `tests/bootstrap.ts`; the
|
||||
runner's built-in spec reporter is used instead.
|
||||
- Renamed `app/exceptions/file_manager_exeptions.ts` to `file_manager_exceptions.ts`, fixing the
|
||||
filename typo, and updated all imports.
|
||||
|
||||
### Removed
|
||||
|
||||
- Removed the root `.env` file.
|
||||
|
||||
## [1.2.0] - 2026-07-17
|
||||
|
||||
### Changed
|
||||
|
||||
Reference in New Issue
Block a user