feat: implement server platform externalization plan#8
Conversation
…ps/api Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…to server-platform
| "dotenv": "^16.4.7", | ||
| "fastify": "5.8.3", | ||
| "fastify-plugin": "~5.0.1" | ||
| "fastify": "5.8.3" |
There was a problem hiding this comment.
Dependencies in applications and libraries should have loose version to avoid problems with reusing packages
There was a problem hiding this comment.
Fixed in 06a28ae — fastify now uses ^5.8.3 in apps/api/package.json and libs/server-platform/package.json. All other external deps in the new packages also use caret (^) ranges.
| @@ -0,0 +1 @@ | |||
| export { pagesServerPlugin } from './lib/plugin.js'; | |||
There was a problem hiding this comment.
I do not like imports with .js. You can try to adapt this library to be compliant only with node. Or find other solution
There was a problem hiding this comment.
Fixed in 06a28ae — switched the new server-side libs (libs/server-platform, libs/plugins/pages/server) to "module": "esnext" + "moduleResolution": "bundler" in their tsconfig.lib.json. This removes the NodeNext requirement for explicit .js extensions on relative imports. Also removed "type": "module" from their package.json so they are treated as CommonJS at runtime.
| PageStore, | ||
| } from './types'; | ||
| export { createSessionExpiration } from './types'; | ||
| } from './types.js'; |
There was a problem hiding this comment.
I preferred to have type instead of type.js
There was a problem hiding this comment.
Fixed in 06a28ae — all .js suffixes removed from relative imports across libs/server-platform and libs/plugins/pages/server (including the ./types.js side-effect import in session/index.ts).
…esolution for node libs, loosen version pins Agent-Logs-Url: https://github.com/ksojecki/rod-manager/sessions/9295c7b9-718f-478c-9bbd-a6465778ea12
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
d84b7b4 to
7d99fdf
Compare
7d99fdf to
766325e
Compare
38ea880
into
feature/extract-platform-for-server
libs/server-platformand move server composition fromapps/api/src/app/app.tsServerPlatformPlugincontract and plugin registryapps/api/src/main.tsto bootstrap-only hostpagesroutes and store intolibs/plugins/pages/serverWebPlatformextension inlibs/plugins/pages/uistore.ts) in core package.jsextensions from relative imports inlibs/server-platformandlibs/plugins/pages/server(switched tomoduleResolution: "bundler"+module: "esnext"in lib tsconfigs)fastifyversion to^5.8.3inapps/apiandlibs/server-platform; remove"type": "module"(CJS) from new server libs