mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-11 20:08:37 +00:00
ci: fix selfhost (#5920)
## **Type**
enhancement
___
## **Description**
- Introduced a new ESM module resolution setup using `ts-node` to enhance the development and deployment process.
- Implemented a dynamic loader script registration mechanism to facilitate ESM module loading.
- Simplified the predeploy script execution by refining environment variable handling and stdout configuration.
- Updated `package.json` to reflect changes in script commands for better ESM support and added necessary dependencies for `ts-node` and `typescript`.
___
## **Changes walkthrough**
<table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>loader.js</strong><dd><code>Introduce ESM Module Resolution via ts-node</code> </dd></summary>
<hr>
packages/backend/server/scripts/loader.js
<li>Introduced <code>ts-node</code> configuration for ESM module resolution.<br> <li> Exported a <code>resolve</code> function for module resolution.<br>
</details>
</td>
<td><a href="https:/toeverything/AFFiNE/pull/5920/files#diff-9ed793897a493633028d510db0742ff38d2d86471c54b17513d4354c51597ef8">+11/-0</a> </td>
</tr>
<tr>
<td>
<details>
<summary><strong>register.js</strong><dd><code>Implement Dynamic Loader Script Registration</code> </dd></summary>
<hr>
packages/backend/server/scripts/register.js
<li>Implemented dynamic registration of the loader script.<br> <li> Utilized <code>node:module</code> and <code>node:url</code> for script registration.<br>
</details>
</td>
<td><a href="https:/toeverything/AFFiNE/pull/5920/files#diff-64831012a09f2bc4bc5a611ddb8e0871b0e83588de6c5d4f2f5cb1dae8fff244">+4/-0</a> </td>
</tr>
<tr>
<td>
<details>
<summary><strong>self-host-predeploy.js</strong><dd><code>Simplify Predeploy Script Execution</code> </dd></summary>
<hr>
packages/backend/server/scripts/self-host-predeploy.js
<li>Simplified environment variable passing to <code>execSync</code>.<br> <li> Changed stdout handling to inherit from the parent process.<br>
</details>
</td>
<td><a href="https:/toeverything/AFFiNE/pull/5920/files#diff-bd7b0be14c198018c21dadda6945a779c57d13e4c8584ee62da4baa99d370664">+3/-5</a> </td>
</tr>
<tr>
<td>
<details>
<summary><strong>package.json</strong><dd><code>Update Scripts and Dependencies for ESM Support</code> </dd></summary>
<hr>
packages/backend/server/package.json
<li>Updated script commands for ESM compatibility.<br> <li> Added <code>ts-node</code> and <code>typescript</code> dependencies.<br> <li> Removed redundant <code>--es-module-specifier-resolution=node</code> flags.<br>
</details>
</td>
<td><a href="https:/toeverything/AFFiNE/pull/5920/files#diff-a6530c6fe539aaa49ff0a7a80bc4362c1d95c419fdd19125415dcc869b31a443">+6/-6</a> </td>
</tr>
</table></td></tr></tr></tbody></table>
___
> ✨ **PR-Agent usage**:
>Comment `/help` on the PR to get a list of all available PR-Agent tools and their descriptions
This commit is contained in:
@@ -9,13 +9,13 @@
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"start": "node --loader ts-node/esm/transpile-only.mjs --es-module-specifier-resolution=node ./src/index.ts",
|
||||
"start": "node --loader ts-node/esm/transpile-only.mjs ./src/index.ts",
|
||||
"dev": "nodemon ./src/index.ts",
|
||||
"test": "ava --concurrency 1 --serial",
|
||||
"test:coverage": "c8 ava --concurrency 1 --serial",
|
||||
"postinstall": "prisma generate",
|
||||
"data-migration": "node --loader ts-node/esm/transpile-only.mjs --es-module-specifier-resolution=node ./src/data/index.ts",
|
||||
"predeploy": "yarn prisma migrate deploy && node --es-module-specifier-resolution=node ./dist/data/index.js run"
|
||||
"data-migration": "node --loader ts-node/esm/transpile-only.mjs ./src/data/index.ts",
|
||||
"predeploy": "yarn prisma migrate deploy && node --import ./scripts/register.js ./dist/data/index.js run"
|
||||
},
|
||||
"dependencies": {
|
||||
"@apollo/server": "^4.10.0",
|
||||
@@ -86,6 +86,8 @@
|
||||
"semver": "^7.6.0",
|
||||
"socket.io": "^4.7.4",
|
||||
"stripe": "^14.18.0",
|
||||
"ts-node": "^10.9.2",
|
||||
"typescript": "^5.3.3",
|
||||
"ws": "^8.16.0",
|
||||
"yjs": "^13.6.12",
|
||||
"zod": "^3.22.4"
|
||||
@@ -112,9 +114,7 @@
|
||||
"c8": "^9.1.0",
|
||||
"nodemon": "^3.1.0",
|
||||
"sinon": "^17.0.1",
|
||||
"supertest": "^6.3.4",
|
||||
"ts-node": "^10.9.2",
|
||||
"typescript": "^5.3.3"
|
||||
"supertest": "^6.3.4"
|
||||
},
|
||||
"ava": {
|
||||
"timeout": "1m",
|
||||
|
||||
Reference in New Issue
Block a user