Skip to content

Commit 72bf812

Browse files
committed
chore(server): set script flavor instead of NODE_ENV (#10121)
1 parent 58fed59 commit 72bf812

File tree

8 files changed

+28
-15
lines changed

8 files changed

+28
-15
lines changed

packages/backend/server/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
"test:copilot": "ava \"src/__tests__/**/copilot-*.spec.ts\"",
1616
"test:coverage": "c8 ava --concurrency 1 --serial",
1717
"test:copilot:coverage": "c8 ava --timeout=5m \"src/__tests__/**/copilot-*.spec.ts\"",
18-
"data-migration": "cross-env NODE_ENV=script r ./src/data/index.ts",
19-
"predeploy": "yarn prisma migrate deploy && NODE_ENV=script node --import ./scripts/register.js ./dist/data/index.js run",
18+
"data-migration": "cross-env NODE_ENV=development r ./src/data/index.ts",
19+
"predeploy": "yarn prisma migrate deploy && node --import ./scripts/register.js ./dist/data/index.js run",
2020
"postinstall": "prisma generate"
2121
},
2222
"dependencies": {

packages/backend/server/src/__tests__/app/doc.e2e.ts

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ test.before('start app', async t => {
1919
sync: false,
2020
renderer: false,
2121
doc: true,
22+
script: false,
2223
} satisfies typeof AFFiNE.flavor;
2324
const app = await createTestingApp({
2425
imports: [buildAppModule()],

packages/backend/server/src/__tests__/app/graphql.e2e.ts

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ test.before('start app', async t => {
2121
sync: false,
2222
renderer: false,
2323
doc: false,
24+
script: false,
2425
} satisfies typeof AFFiNE.flavor;
2526
const app = await createTestingApp({
2627
imports: [buildAppModule()],

packages/backend/server/src/__tests__/app/renderer.e2e.ts

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ test.before('start app', async t => {
1919
sync: false,
2020
renderer: true,
2121
doc: false,
22+
script: false,
2223
} satisfies typeof AFFiNE.flavor;
2324
const app = await createTestingApp({
2425
imports: [buildAppModule()],

packages/backend/server/src/__tests__/app/sync.e2e.ts

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ test.before('start app', async t => {
1919
sync: true,
2020
renderer: false,
2121
doc: false,
22+
script: false,
2223
} satisfies typeof AFFiNE.flavor;
2324
const app = await createTestingApp({
2425
imports: [buildAppModule()],

packages/backend/server/src/base/config/def.ts

+9-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,16 @@ import type { LeafPaths } from '../utils/types';
22
import { AppStartupConfig } from './types';
33

44
export type EnvConfigType = 'string' | 'int' | 'float' | 'boolean';
5-
export type ServerFlavor = 'allinone' | 'graphql' | 'sync' | 'renderer' | 'doc';
5+
export type ServerFlavor =
6+
| 'allinone'
7+
| 'graphql'
8+
| 'sync'
9+
| 'renderer'
10+
| 'doc'
11+
| 'script';
12+
613
export type AFFINE_ENV = 'dev' | 'beta' | 'production';
7-
export type NODE_ENV = 'development' | 'test' | 'production' | 'script';
14+
export type NODE_ENV = 'development' | 'test' | 'production';
815

916
export enum DeploymentType {
1017
Affine = 'affine',
@@ -29,7 +36,6 @@ export interface PreDefinedAFFiNEConfig {
2936
prod: boolean;
3037
dev: boolean;
3138
test: boolean;
32-
script: boolean;
3339
};
3440
readonly deploy: boolean;
3541
}

packages/backend/server/src/base/config/default.ts

+10-6
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,15 @@ import {
1313
import { readEnv } from './env';
1414
import { defaultStartupConfig } from './register';
1515

16+
function expectFlavor(flavor: ServerFlavor, expected: ServerFlavor) {
17+
return flavor === expected || flavor === 'allinone';
18+
}
19+
1620
function getPredefinedAFFiNEConfig(): PreDefinedAFFiNEConfig {
1721
const NODE_ENV = readEnv<NODE_ENV>('NODE_ENV', 'production', [
1822
'development',
1923
'test',
2024
'production',
21-
'script',
2225
]);
2326
const AFFINE_ENV = readEnv<AFFINE_ENV>('AFFINE_ENV', 'production', [
2427
'dev',
@@ -31,6 +34,7 @@ function getPredefinedAFFiNEConfig(): PreDefinedAFFiNEConfig {
3134
'sync',
3235
'renderer',
3336
'doc',
37+
'script',
3438
]);
3539
const deploymentType = readEnv<DeploymentType>(
3640
'DEPLOYMENT_TYPE',
@@ -49,7 +53,6 @@ function getPredefinedAFFiNEConfig(): PreDefinedAFFiNEConfig {
4953
prod: NODE_ENV === 'production',
5054
dev: NODE_ENV === 'development',
5155
test: NODE_ENV === 'test',
52-
script: NODE_ENV === 'script',
5356
};
5457

5558
return {
@@ -64,10 +67,11 @@ function getPredefinedAFFiNEConfig(): PreDefinedAFFiNEConfig {
6467
flavor: {
6568
type: flavor,
6669
allinone: flavor === 'allinone',
67-
graphql: flavor === 'graphql' || flavor === 'allinone',
68-
sync: flavor === 'sync' || flavor === 'allinone',
69-
renderer: flavor === 'renderer' || flavor === 'allinone',
70-
doc: flavor === 'doc' || flavor === 'allinone',
70+
graphql: expectFlavor(flavor, 'graphql'),
71+
sync: expectFlavor(flavor, 'sync'),
72+
renderer: expectFlavor(flavor, 'renderer'),
73+
doc: expectFlavor(flavor, 'doc'),
74+
script: expectFlavor(flavor, 'script'),
7175
},
7276
affine,
7377
node,

packages/backend/server/src/data/index.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
import '../prelude';
2-
31
import { Logger } from '@nestjs/common';
42
import { CommandFactory } from 'nest-commander';
53

64
async function bootstrap() {
7-
AFFiNE.metrics.enabled = false;
8-
AFFiNE.doc.manager.enableUpdateAutoMerging = false;
5+
process.env.SERVER_FLAVOR = 'script';
6+
7+
await import('../prelude');
98
const { CliAppModule } = await import('./app');
109
await CommandFactory.run(CliAppModule, new Logger()).catch(e => {
1110
console.error(e);

0 commit comments

Comments
 (0)