-
Notifications
You must be signed in to change notification settings - Fork 2
Migrate to Deno and Remove react and deskpro-ui to slimline the app-sdk
#98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this 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 removes React and Deskpro UI assets from the core App SDK to slim it down while adding native Deno support and updating documentation. Key changes include:
- Removal of various React‐specific files and configuration files (Storybook, Babel, ESLint, SCSS, etc.)
- Addition of deno.json and shell installation script for Deno
- Updates to documentation (README.md) to reflect the migration of UI components to a separate package
Reviewed Changes
Copilot reviewed 373 out of 373 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| docs/storybook/assets/CopyToClipboardInput-3d8bb04a.js | Removed outdated React Storybook asset |
| docs/storybook/assets/Color-YHDXOIA2-04c9e855.js | Removed React Storybook asset |
| docs/index.html | Removed legacy documentation HTML |
| deskpro.scss | Removed SCSS styles no longer used |
| deno.json | Added Deno configuration |
| a | Added/upgraded shell installation script for Deno support |
| README.md | Updated documentation to include Deno & UI migration notes |
| .storybook/* | Removed Storybook structure and preview files |
| .eslintrc.js, .babelrc, .editorconfig | Removed configuration files associated with removed tooling |
| .devcontainer/devcontainer.json | Updated container configuration to use a different base image and install Deno |
| .github/workflows/* | Updated and added workflows to support the new deno-centric build process |
Comments suppressed due to low confidence (2)
README.md:110
- Consider adding a note to clearly indicate that React-specific components have been migrated to a separate package (e.g., '@deskpro/app-sdk-react') to avoid confusion for consumers of the core SDK.
The Apps SDK doesn't export any UI elements but for consistency, we recommended you use [Deskpro UI](https://github.com/deskpro/deskpro-product/tree/master/packages/deskpro-ui).
.devcontainer/devcontainer.json:19
- Using 'curl | sh' to install Deno can be risky. Consider verifying the installation script's integrity (e.g., via a checksum) before execution.
"onCreateCommand": "curl -fsSL https://deno.land/x/install/install.sh | sh -s -- --yes && . \"/home/vscode/.deno/env\""
There was a problem hiding this 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 slims down the app-sdk by migrating to Deno, removing React/Deskpro UI and Storybook, and unifying CI/CD workflows.
- Migrate build, test, and lint tasks to Deno via
deno.jsonand update documentation. - Remove legacy UI assets, SCSS, Storybook configuration, and editor/linter configs.
- Consolidate GitHub workflows into a reusable Deno-based subworkflow.
Reviewed Changes
Copilot reviewed 383 out of 383 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| docs/storybook/assets/*.js | Removed generated Storybook asset files |
| docs/index.html | Deleted static docs homepage |
| deskpro.scss | Removed legacy SCSS imports |
| deno.json | Added Deno project configuration and build task |
| README.md | Updated installation and usage instructions for Deno |
| .github/workflows/subworkflow-build.yml | Introduced reusable Deno-based build workflow |
| .github/workflows/pr_build.yml | Switched PR build to call subworkflow |
| .github/workflows/main.yaml | Switched main build to call subworkflow |
| .vscode/settings.json | Added VS Code Deno extension settings |
| .storybook/**/*, .eslintrc.js, .babelrc, etc. | Deleted Storybook and legacy configuration files |
Comments suppressed due to low confidence (3)
.github/workflows/pr_build.yml:18
- The
contents: writeandpull-requests: readfields are indented undersecretsinstead of apermissions:block. Introduce apermissions:key above them and adjust indentation accordingly.
contents: write
.github/workflows/pr_build.yml:19
- This line should be nested under a
permissions:section; currently it's misaligned undersecretsand may be ignored by GitHub Actions.
pull-requests: read
.github/workflows/main.yaml:20
pull-requests: readis listed without a parentpermissions:key; ensure bothcontents:andpull-requests:are defined under apermissions:block for correct workflow permissions.
pull-requests: read
react and deskpro-ui to slimline the app-sdk
This pull request introduces significant changes to the project, including migrating the build system to Deno, simplifying workflows, better typings for
Context, more tests, removal of Deskpro UI and React (What this means is that theapp-sdkis just that and nothing more. We will move the React-ness intoapp-sdk-reactso that there is still 1st class React support.) and removing legacy configurations and dependencies. The most important updates include the adoption of Deno for development and builds, streamlining CI/CD workflows, and removing unused files and configurations related to Babel, ESLint, Storybook, and legacy styles.Migration to Deno:
deno.jsonto configure the Deno project with tasks, imports, and exports for the SDK. This includes a new build task and dependency management.README.mdto reflect the transition to Deno, including instructions for usingdeno test. Removed references to UI component development and Storybook. [1] [2].vscode/settings.jsonto enable Deno-specific settings in the development environment.Workflow Simplification:
main.yamlandpr_build.ymlworkflows with a modularsubworkflow-build.yml, which consolidates linting, testing, building, and tagging into a single reusable workflow. The new workflows also support merge queues and concurrency controls. [1] [2] [3]Removal of Legacy Configurations:
.babelrc,.editorconfig,.eslintrc.js, and other configuration files related to Babel, ESLint, and editor settings, as they are no longer required with the Deno migration. [1] [2] [3].storybook/main.ts,.storybook/preview.tsx,.storybook/structure/*) and references to Storybook in the documentation, as Storybook is no longer part of the project. [1] [2] [3] [4]Dependency and Feature Updates:
.devcontainer/devcontainer.jsonto replacepnpmwith Deno-specific setup commands and added support for the Deno VS Code extension. [1] [2]Cleanup:
deskpro.scss) and references to legacy styles.