Update pnpm-lock.yaml and Dockerfile for Dependency Management

- Standardized quotes in pnpm-lock.yaml for improved consistency across dependencies.
- Added new dependencies including '@types/node' and 'zod' with specified versions to enhance type safety and validation.
- Updated Dockerfile to disable workspace package injection, ensuring symlinks are used for the domain package during installation, which improves build reliability.
This commit is contained in:
barsa 2026-01-06 14:09:32 +09:00
parent 0f1c134bc9
commit cc0200bd5e
2 changed files with 123 additions and 22 deletions

View File

@ -30,8 +30,10 @@ COPY apps/portal/package.json ./apps/portal/package.json
COPY apps/bff/package.json ./apps/bff/package.json
# Install only the packages needed for the portal (domain + portal)
# Disable inject-workspace-packages so symlinks are used (domain dist doesn't exist at install time)
ENV HUSKY=0
RUN --mount=type=cache,id=pnpm-portal,target=/root/.local/share/pnpm/store \
pnpm config set inject-workspace-packages false && \
pnpm install --frozen-lockfile --filter @customer-portal/domain... --filter @customer-portal/portal...
# =============================================================================
@ -56,7 +58,10 @@ ENV NODE_ENV=production \
NEXT_TELEMETRY_DISABLED=1
# Build: domain → Next.js (standalone output)
# After building domain, manually create symlink to ensure resolution works
RUN pnpm --filter @customer-portal/domain build \
&& mkdir -p node_modules/@customer-portal \
&& ln -sf ../../packages/domain node_modules/@customer-portal/domain \
&& pnpm --filter @customer-portal/portal build
# =============================================================================

140
pnpm-lock.yaml generated
View File

@ -7,9 +7,15 @@ settings:
catalogs:
default:
"@types/node":
specifier: 24.10.3
version: 24.10.3
typescript:
specifier: 5.9.3
version: 5.9.3
zod:
specifier: 4.2.1
version: 4.2.1
overrides:
js-yaml: ">=4.1.1"
@ -182,10 +188,13 @@ importers:
dependencies:
"@customer-portal/domain":
specifier: workspace:*
version: file:packages/domain(zod@4.2.1)
version: link:../../packages/domain
"@heroicons/react":
specifier: ^2.2.0
version: 2.2.0(react@19.2.3)
"@react-google-maps/api":
specifier: ^2.20.8
version: 2.20.8(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
"@tanstack/react-query":
specifier: ^5.90.14
version: 5.90.14(react@19.2.3)
@ -200,7 +209,7 @@ importers:
version: 0.562.0(react@19.2.3)
next:
specifier: 16.1.1
version: 16.1.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
version: 16.1.1(@babel/core@7.28.5)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
react:
specifier: 19.2.3
version: 19.2.3
@ -499,11 +508,6 @@ packages:
}
engines: { node: ">=0.1.90" }
"@customer-portal/domain@file:packages/domain":
resolution: { directory: packages/domain, type: directory }
peerDependencies:
zod: ^4.2.1
"@discoveryjs/json-ext@0.5.7":
resolution:
{
@ -845,6 +849,18 @@ packages:
}
engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
"@googlemaps/js-api-loader@1.16.8":
resolution:
{
integrity: sha512-CROqqwfKotdO6EBjZO/gQGVTbeDps5V7Mt9+8+5Q+jTg5CRMi3Ii/L9PmV3USROrt2uWxtGzJHORmByxyo9pSQ==,
}
"@googlemaps/markerclusterer@2.5.3":
resolution:
{
integrity: sha512-x7lX0R5yYOoiNectr10wLgCBasNcXFHiADIBdmn7jQllF2B5ENQw5XtZK+hIw4xnV0Df0xhN4LN98XqA5jaiOw==,
}
"@grpc/grpc-js@1.14.2":
resolution:
{
@ -2062,6 +2078,27 @@ packages:
integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==,
}
"@react-google-maps/api@2.20.8":
resolution:
{
integrity: sha512-wtLYFtCGXK3qbIz1H5to3JxbosPnKsvjDKhqGylXUb859EskhzR7OpuNt0LqdLarXUtZCJTKzPn3BNaekNIahg==,
}
peerDependencies:
react: ^16.8 || ^17 || ^18 || ^19
react-dom: ^16.8 || ^17 || ^18 || ^19
"@react-google-maps/infobox@2.20.0":
resolution:
{
integrity: sha512-03PJHjohhaVLkX6+NHhlr8CIlvUxWaXhryqDjyaZ8iIqqix/nV8GFdz9O3m5OsjtxtNho09F/15j14yV0nuyLQ==,
}
"@react-google-maps/marker-clusterer@2.20.0":
resolution:
{
integrity: sha512-tieX9Va5w1yP88vMgfH1pHTacDQ9TgDTjox3tLlisKDXRQWdjw+QeVVghhf5XqqIxXHgPdcGwBvKY6UP+SIvLw==,
}
"@scarf/scarf@1.4.0":
resolution:
{
@ -2482,6 +2519,12 @@ packages:
integrity: sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==,
}
"@types/google.maps@3.58.1":
resolution:
{
integrity: sha512-X9QTSvGJ0nCfMzYOnaVs/k6/4L+7F5uCS+4iUmkLEls6J9S/Phv+m/i3mDeyc49ZBgwab3EFO1HEoBY7k98EGQ==,
}
"@types/http-cache-semantics@4.0.4":
resolution:
{
@ -4760,6 +4803,12 @@ packages:
integrity: sha512-MAQUJuIo7Xqk8EVNP+6d3CKq9c80hi4tjIbIAT6lmGW9W6WzlHiu9PS8uSuUYU+Do+j1baiFp3H25XEVxDIG2g==,
}
invariant@2.2.4:
resolution:
{
integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==,
}
ioredis@5.8.2:
resolution:
{
@ -5003,6 +5052,12 @@ packages:
integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==,
}
kdbush@4.0.2:
resolution:
{
integrity: sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==,
}
keyv@4.5.4:
resolution:
{
@ -5234,6 +5289,13 @@ packages:
integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==,
}
loose-envify@1.4.0:
resolution:
{
integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==,
}
hasBin: true
lowercase-keys@3.0.0:
resolution:
{
@ -5702,12 +5764,6 @@ packages:
}
engines: { node: ">= 0.4" }
ogl@1.0.11:
resolution:
{
integrity: sha512-kUpC154AFfxi16pmZUK4jk3J+8zxwTWGPo03EoYA8QPbzikHoaC82n6pNTbd+oEaJonaE8aPWBlX7ad9zrqLsA==,
}
ohash@2.0.11:
resolution:
{
@ -6859,6 +6915,12 @@ packages:
babel-plugin-macros:
optional: true
supercluster@8.0.1:
resolution:
{
integrity: sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==,
}
supports-color@7.2.0:
resolution:
{
@ -7714,10 +7776,6 @@ snapshots:
"@colors/colors@1.5.0":
optional: true
"@customer-portal/domain@file:packages/domain(zod@4.2.1)":
dependencies:
zod: 4.2.1
"@discoveryjs/json-ext@0.5.7": {}
"@electric-sql/pglite-socket@0.0.6(@electric-sql/pglite@0.3.2)":
@ -7861,6 +7919,13 @@ snapshots:
"@eslint/core": 0.17.0
levn: 0.4.1
"@googlemaps/js-api-loader@1.16.8": {}
"@googlemaps/markerclusterer@2.5.3":
dependencies:
fast-deep-equal: 3.1.3
supercluster: 8.0.1
"@grpc/grpc-js@1.14.2":
dependencies:
"@grpc/proto-loader": 0.8.0
@ -8571,6 +8636,21 @@ snapshots:
"@protobufjs/utf8@1.1.0": {}
"@react-google-maps/api@2.20.8(react-dom@19.2.3(react@19.2.3))(react@19.2.3)":
dependencies:
"@googlemaps/js-api-loader": 1.16.8
"@googlemaps/markerclusterer": 2.5.3
"@react-google-maps/infobox": 2.20.0
"@react-google-maps/marker-clusterer": 2.20.0
"@types/google.maps": 3.58.1
invariant: 2.2.4
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
"@react-google-maps/infobox@2.20.0": {}
"@react-google-maps/marker-clusterer@2.20.0": {}
"@scarf/scarf@1.4.0": {}
"@sendgrid/client@8.1.6":
@ -8823,6 +8903,8 @@ snapshots:
"@types/express-serve-static-core": 5.1.0
"@types/serve-static": 2.2.0
"@types/google.maps@3.58.1": {}
"@types/http-cache-semantics@4.0.4":
optional: true
@ -10330,6 +10412,10 @@ snapshots:
kind-of: 6.0.3
optional: true
invariant@2.2.4:
dependencies:
loose-envify: 1.4.0
ioredis@5.8.2:
dependencies:
"@ioredis/commands": 1.4.0
@ -10455,6 +10541,8 @@ snapshots:
optionalDependencies:
graceful-fs: 4.2.11
kdbush@4.0.2: {}
keyv@4.5.4:
dependencies:
json-buffer: 3.0.1
@ -10575,6 +10663,10 @@ snapshots:
long@5.3.2: {}
loose-envify@1.4.0:
dependencies:
js-tokens: 4.0.0
lowercase-keys@3.0.0:
optional: true
@ -10749,7 +10841,7 @@ snapshots:
optionalDependencies:
"@nestjs/swagger": 11.2.3(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.9)(class-transformer@0.5.1)(class-validator@0.14.2)(reflect-metadata@0.2.2)
next@16.1.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
next@16.1.1(@babel/core@7.28.5)(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
dependencies:
"@next/env": 16.1.1
"@swc/helpers": 0.5.15
@ -10758,7 +10850,7 @@ snapshots:
postcss: 8.4.31
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
styled-jsx: 5.1.6(react@19.2.3)
styled-jsx: 5.1.6(@babel/core@7.28.5)(react@19.2.3)
optionalDependencies:
"@next/swc-darwin-arm64": 16.1.1
"@next/swc-darwin-x64": 16.1.1
@ -10818,8 +10910,6 @@ snapshots:
object-inspect@1.13.4: {}
ogl@1.0.11: {}
ohash@2.0.11: {}
on-exit-leak-free@2.1.2: {}
@ -11522,10 +11612,16 @@ snapshots:
dependencies:
"@tokenizer/token": 0.3.0
styled-jsx@5.1.6(react@19.2.3):
styled-jsx@5.1.6(@babel/core@7.28.5)(react@19.2.3):
dependencies:
client-only: 0.0.1
react: 19.2.3
optionalDependencies:
"@babel/core": 7.28.5
supercluster@8.0.1:
dependencies:
kdbush: 4.0.2
supports-color@7.2.0:
dependencies: