Conversation
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
- Add type:module to root, server, client package.json
- Server tsconfig: module Node16, moduleResolution Node16
- Client tsconfig: keep moduleResolution node (Vite handles ESM)
- Rename jest.config.js -> jest.config.cjs (CJS syntax with type:module)
- Add .js extensions to all server relative imports (required by Node16)
- Replace __dirname in findRootDir.ts with process.cwd() traversal
- Replace require(configFile) with JSON.parse(fs.readFileSync)
- Replace require('socket.io') with ESM import
- Update nodemon/ts-node exec for ESM loader
- Update server scripts for ESM compatibility
- Add dotenv/axios module declarations for Node16 resolution
- Remove @types/axios (axios bundles own types)
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
…est 7 Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
… → 14 Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
…udit vulns Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
fix: eliminate test handle leaks (pino worker thread, GroupJoinService interval) Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
…lution Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
…tion Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
- Delete package-lock.json, add pnpm-lock.yaml - Add @types/body-parser, @types/sinonjs__fake-timers, @types/luxon, @slack/types as explicit deps (pnpm strict requires declared deps) - Fix express-serve-static-core import → express (pnpm strict doesn't hoist transitive types) - Remove unused Container imports in integration specs (noUnusedLocals) - Fix Jest transformIgnorePatterns regex for pnpm .pnpm symlink paths Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
tsx (esbuild) does not emit design:paramtypes decorator metadata, which typedi 0.10 needs for constructor injection. Switch dev loader to @swc-node/register/esm-register (respects emitDecoratorMetadata, resolves .js -> .ts in ESM). Also fix ESM/CJS interop issues that surfaced in the compiled build: - lodash named imports fail in Node ESM (cjs-module-lexer cannot detect them); switch to default import + lodash.fn calls - api.json import fails with ERR_IMPORT_ATTRIBUTE_MISSING on Node 24; read via fs.readFileSync + findRootDir instead Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Vite 8's esbuild dep optimizer mis-handles MUI 4's deep-path CJS modules: it emits 'export default require_X()' which returns the module namespace object instead of the component, causing React error #130 (element type invalid: got object). Switch all deep-path default imports to named imports from the barrels @material-ui/core and @material-ui/icons. React 19 removed findDOMNode, which MUI 4 (Popper, Tooltip, Menu) relies on, so keep React 18 until MUI is upgraded. Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Luxon's TIME_SIMPLE formatter emits U+202F (narrow no-break space) between time and AM/PM marker in some locales. Replace it with a regular space so tests and UI display consistent output. Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
Signed-off-by: Sebastian Zett <sebastian.zett@tngtech.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Runtime & tooling
Client
Server
Tests
Not addressed
RESULT
Security: 0 audit vulnerabilities (qs/ws/js-yaml overrides applied)