fix(build): сборка @cfdm/db и @cfdm/shared в dist для production
Docker / build (push) Has been cancelled

Node в Docker не мог импортировать .ts из workspace-пакетов; exports
переключены на dist, добавлен tsc build и сборка в Dockerfile.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Denozordec
2026-06-27 23:36:15 +07:00
co-authored by Cursor
parent 0de0538218
commit 9df91bf2cc
8 changed files with 101 additions and 32 deletions
+4 -2
View File
@@ -16,10 +16,12 @@ RUN --mount=type=cache,target=/root/.local/share/pnpm pnpm install --frozen-lock
COPY apps ./apps
COPY packages ./packages
RUN pnpm --filter web build \
RUN pnpm --filter @cfdm/shared build \
&& pnpm --filter @cfdm/db build \
&& pnpm --filter web build \
&& pnpm --filter api build \
&& pnpm prune --prod \
&& rm -rf apps/web/src apps/api/src \
&& rm -rf apps/web/src apps/api/src packages/db/src packages/shared/src \
apps/web/node_modules/.vite-temp \
apps/web/tsconfig.json apps/api/tsconfig.json \
&& find node_modules apps/*/node_modules packages/*/node_modules -type f \( \
+2 -2
View File
@@ -4,9 +4,9 @@
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "tsx watch src/index.ts",
"dev": "pnpm --filter @cfdm/shared build && pnpm --filter @cfdm/db build && tsx watch src/index.ts",
"dev:legacy": "node index.js",
"build": "tsc -p tsconfig.json",
"build": "pnpm --filter @cfdm/shared build && pnpm --filter @cfdm/db build && tsc -p tsconfig.json",
"start": "node dist/index.js",
"start:legacy": "node index.js",
"test": "vitest run"
+20 -15
View File
@@ -3,21 +3,24 @@
"version": "0.0.0",
"private": true,
"type": "module",
"main": "./src/index.ts",
"types": "./src/index.ts",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
".": "./src/index.ts",
"./schema": "./src/schema/index.ts",
"./repositories/providers": "./src/repositories/providers.ts",
"./repositories/provider-accounts": "./src/repositories/provider-accounts.ts",
"./repositories/vps": "./src/repositories/vps.ts",
"./repositories/projects": "./src/repositories/projects.ts",
"./repositories/payments": "./src/repositories/payments.ts",
"./repositories/balance-ledger": "./src/repositories/balance-ledger.ts",
"./repositories/settings": "./src/repositories/settings.ts",
"./repositories/tariffs": "./src/repositories/tariffs.ts",
"./repositories/snapshot": "./src/repositories/snapshot.ts",
"./repositories/utils": "./src/repositories/utils.ts"
".": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
},
"./schema": {
"types": "./dist/schema/index.d.ts",
"default": "./dist/schema/index.js"
},
"./repositories/*": {
"types": "./dist/repositories/*.d.ts",
"default": "./dist/repositories/*.js"
}
},
"scripts": {
"build": "tsc -p tsconfig.json"
},
"dependencies": {
"drizzle-orm": "^0.40.0",
@@ -25,6 +28,8 @@
},
"devDependencies": {
"drizzle-kit": "^0.30.0",
"@types/better-sqlite3": "^7.6.13"
"@types/better-sqlite3": "^7.6.13",
"@types/node": "^22.10.0",
"typescript": "^5.9.2"
}
}
+16
View File
@@ -0,0 +1,16 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"module": "NodeNext",
"moduleResolution": "NodeNext",
"target": "ES2022",
"outDir": "./dist",
"rootDir": "./src",
"noEmit": false,
"declaration": true,
"declarationMap": true,
"verbatimModuleSyntax": false,
"types": ["node"]
},
"include": ["src/**/*.ts"]
}
+28 -7
View File
@@ -3,16 +3,37 @@
"version": "0.0.0",
"private": true,
"type": "module",
"main": "./src/index.ts",
"types": "./src/index.ts",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
".": "./src/index.ts",
"./contracts/*": "./src/contracts/*.ts",
"./types/*": "./src/types/*.ts",
"./geo": "./src/geo/index.ts",
"./geo/*": "./src/geo/*.ts"
".": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
},
"./contracts/*": {
"types": "./dist/contracts/*.d.ts",
"default": "./dist/contracts/*.js"
},
"./types/*": {
"types": "./dist/types/*.d.ts",
"default": "./dist/types/*.js"
},
"./geo": {
"types": "./dist/geo/index.d.ts",
"default": "./dist/geo/index.js"
},
"./geo/*": {
"types": "./dist/geo/*.d.ts",
"default": "./dist/geo/*.js"
}
},
"scripts": {
"build": "tsc -p tsconfig.json"
},
"dependencies": {
"zod": "^3.25.0"
},
"devDependencies": {
"typescript": "^5.9.2"
}
}
+6 -6
View File
@@ -1,6 +1,6 @@
export * from './contracts/provider'
export * from './contracts/provider-account'
export * from './contracts/vps'
export * from './contracts/payment'
export * from './contracts/balance-ledger'
export * from './contracts/settings'
export * from './contracts/provider.js'
export * from './contracts/provider-account.js'
export * from './contracts/vps.js'
export * from './contracts/payment.js'
export * from './contracts/balance-ledger.js'
export * from './contracts/settings.js'
+15
View File
@@ -0,0 +1,15 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"module": "NodeNext",
"moduleResolution": "NodeNext",
"target": "ES2022",
"outDir": "./dist",
"rootDir": "./src",
"noEmit": false,
"declaration": true,
"declarationMap": true,
"verbatimModuleSyntax": false
},
"include": ["src/**/*.ts"]
}
+10
View File
@@ -209,15 +209,25 @@ importers:
'@types/better-sqlite3':
specifier: ^7.6.13
version: 7.6.13
'@types/node':
specifier: ^22.10.0
version: 22.20.0
drizzle-kit:
specifier: ^0.30.0
version: 0.30.6
typescript:
specifier: ^5.9.2
version: 5.9.3
packages/shared:
dependencies:
zod:
specifier: ^3.25.0
version: 3.25.76
devDependencies:
typescript:
specifier: ^5.9.2
version: 5.9.3
packages/ui:
dependencies: