Skip to content

Conversation

irvingoujAtDevolution
Copy link
Contributor

@irvingoujAtDevolution irvingoujAtDevolution commented Oct 9, 2025

TL;DR

  • Only ~15 files actually changed. Everything else below is path relocations with no code diffs.


Relocations (no code changes)

From To
webapp/src/ webapp/apps/gateway-ui/
webapp/video-player/ webapp/packages/multi-video-player/
webapp/player-project/ webapp/apps/recording-player/
webapp/shadow-player/ webapp/packages/shadow-player/
webapp/recording-player-tester/ webapp/tools/recording-player-tester/

✅ These are directory moves only; no code changes required in these paths.


Files to Review (~15 actual changes)

CI Configuration (1 file)

  • .github/workflows/ci.yml

    • Replaced 2 jobs with 1 unified job

    • npm → pnpm

    • Updated artifact paths

Workspace Setup (3 new files)

  • webapp/pnpm-workspace.yaml — NEW; defines workspace structure

  • webapp/pnpm-lock.yaml — NEW; replaces package-lock.json

  • webapp/package.json — NEW; adds root workspace scripts

Build Configuration (3 files)

  • webapp/apps/gateway-ui/angular.json

    • outputPath: "client""../../dist/gateway-ui"

  • webapp/apps/recording-player/vite.config.ts

    • outDir: "../player""../../dist/recording-player"

  • webapp/apps/recording-player/src/streamers/webm.ts

    • Updated imports: "../../../../tools/shadow-player""@devolutions/shadow-player"

Package Manifests (3 files)

  • webapp/apps/gateway-ui/package.json

    • Added TypeScript ~5.5.4 (for Angular compatibility)

    • updated Telnet package and terminal shared dependency because of Pnpm peer dependency rules

  • webapp/apps/recording-player/package.json

    • Uses workspace:* protocol for internal packages

  • webapp/packages/shadow-player/package.json

    • Package renamed to @devolutions/shadow-player

Documentation (3 files)

  • webapp/README.md — updated with pnpm workspace docs

  • webapp/docs/cookbook.md — updated with pnpm workspace docs


Suggested Review Flow (optional)

  1. CI: .github/workflows/ci.yml

  2. Workspace: new pnpm files at webapp/

  3. Build outputs: Angular + Vite config changes

  4. Package manifests: types, rename, and workspace:*

  5. Docs: skim for accuracy

Tip: After review, run the root scripts in webapp/package.json to verify the monorepo build and artifact output locations.

@irvingoujAtDevolution irvingoujAtDevolution requested review from a team as code owners October 9, 2025 18:25
Copy link

github-actions bot commented Oct 9, 2025

Let maintainers know that an action is required on their side

  • Add the label release-required Please cut a new release (Devolutions Gateway, Devolutions Agent, Jetsocat, PowerShell module) when you request a maintainer to cut a new release (Devolutions Gateway, Devolutions Agent, Jetsocat, PowerShell module)

  • Add the label release-blocker Follow-up is required before cutting a new release if a follow-up is required before cutting a new release

  • Add the label publish-required Please publish libraries (`Devolutions.Gateway.Utils`, OpenAPI clients, etc) when you request a maintainer to publish libraries (Devolutions.Gateway.Utils, OpenAPI clients, etc.)

  • Add the label publish-blocker Follow-up is required before publishing libraries if a follow-up is required before publishing libraries

@irvingoujAtDevolution irvingoujAtDevolution marked this pull request as draft October 9, 2025 18:28
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR refactors the entire webapp project from a flat npm structure into a pnpm workspace monorepo to improve dependency management and build performance.

  • Migrates from npm to pnpm with workspace configuration
  • Reorganizes projects into logical categories (apps, packages, tools)
  • Centralizes build outputs to a unified dist/ directory

Reviewed Changes

Copilot reviewed 7 out of 376 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
webapp/apps/recording-player/package.json Updates package name and dependencies to use workspace protocol
webapp/apps/gateway-ui/tsconfig.json Adds ESNext.Disposable to TypeScript lib configuration
webapp/apps/gateway-ui/package.json New package.json with Angular dependencies and TypeScript 5.5.4
webapp/apps/gateway-ui/biome.json New Biome configuration for linting and formatting
webapp/apps/gateway-ui/angular.json Updates output path to centralized dist directory
webapp/README.md Complete rewrite with pnpm workspace documentation
.github/workflows/ci.yml Refactors CI from separate jobs to unified pnpm workflow

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@irvingoujAtDevolution irvingoujAtDevolution changed the title refractor(webapp): refractor the entire webapp project into pnpm workspace refactor(webapp): refractor the entire webapp project into pnpm workspace Oct 9, 2025
@irvingoujAtDevolution irvingoujAtDevolution marked this pull request as ready for review October 10, 2025 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants