diff --git a/AGENTS.md b/AGENTS.md index 837d762..00c2cda 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -12,12 +12,9 @@ No test, lint, typecheck, or build scripts exist. Verify by reading the code. ## Proto Codegen -`src/gen/` contains gRPC stubs generated from `proto/yoresee_doc/v1/yoresee_doc.proto` (parent repo). This directory is **gitignored**. +gRPC stubs come from the npm package `@yoresee-doc/sdk-node` (CommonJS/gRPC build), pinned to tag `v0.1.0` in `package.json` (`git+https://git.yoresee.cc/YoreseeDoc/yoresee_doc_sdk_node.git#v0.1.0`). No local codegen required. -- Dev: generated automatically by `deploy/script/gen_proto.sh` from the parent repo. -- Prod: `Dockerfile.prod` generates stubs in a builder stage using `grpc-tools` and `protoc-gen-js`. - -The file `src/grpc/client.js` imports from `../gen/yoresee_doc/v1/yoresee_doc_grpc_pb` — code will fail at startup if stubs are missing. +`src/grpc/client.js` requires stubs from `@yoresee-doc/sdk-node/cjs/...` (note: `.js` extension required — the SDK root package is ESM). ## Architecture diff --git a/Dockerfile.prod b/Dockerfile.prod index 70b8d63..18dd215 100644 --- a/Dockerfile.prod +++ b/Dockerfile.prod @@ -1,29 +1,15 @@ FROM node:20-alpine AS builder -RUN npm install -g grpc-tools protoc-gen-js - WORKDIR /app COPY collab/package.json collab/package-lock.json* ./ RUN npm install -COPY proto ./proto - -RUN mkdir -p gen && \ - PROTOC="/usr/local/bin/grpc_tools_node_protoc" && \ - GRPC_PLUGIN="/usr/local/bin/grpc_tools_node_protoc_plugin" && \ - "$PROTOC" -I proto \ - --plugin=protoc-gen-grpc="$GRPC_PLUGIN" \ - --grpc_out=grpc_js:gen \ - --js_out=import_style=commonjs,binary:gen \ - proto/yoresee_doc/v1/yoresee_doc.proto - FROM node:20-alpine WORKDIR /app RUN mkdir -p src COPY --from=builder /app/node_modules ./node_modules -COPY --from=builder /app/gen ./src/gen COPY collab/. . EXPOSE 1234 -CMD ["node", "server.js"] \ No newline at end of file +CMD ["node", "server.js"] diff --git a/package-lock.json b/package-lock.json index 232df0b..b40c3aa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@grpc/grpc-js": "^1.12.0", "@grpc/proto-loader": "^0.7.13", - "@yoresee-doc/sdk-node": "git+ssh://git@git.yoresee.cc/YoreseeDoc/yoresee_doc_sdk_node.git#v0.1.0", + "@yoresee-doc/sdk-node": "git+https://git.yoresee.cc/YoreseeDoc/yoresee_doc_sdk_node.git#v0.1.0", "amqplib": "^0.10.9", "google-protobuf": "^4.0.2", "redis": "^4.6.0", @@ -237,7 +237,7 @@ }, "node_modules/@yoresee-doc/sdk-node": { "version": "0.1.0", - "resolved": "git+ssh://git@git.yoresee.cc/YoreseeDoc/yoresee_doc_sdk_node.git#d4ffd77e1c1a71ec2008b3daa07ff4e4e22f70c0", + "resolved": "git+https://git.yoresee.cc/YoreseeDoc/yoresee_doc_sdk_node.git#d4ffd77e1c1a71ec2008b3daa07ff4e4e22f70c0", "dependencies": { "@bufbuild/protobuf": "^1.10.0", "@connectrpc/connect": "^1.7.0", diff --git a/package.json b/package.json index ed7905f..08c8996 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "dependencies": { "@grpc/grpc-js": "^1.12.0", "@grpc/proto-loader": "^0.7.13", - "@yoresee-doc/sdk-node": "git+ssh://git@git.yoresee.cc/YoreseeDoc/yoresee_doc_sdk_node.git#v0.1.0", + "@yoresee-doc/sdk-node": "git+https://git.yoresee.cc/YoreseeDoc/yoresee_doc_sdk_node.git#v0.1.0", "amqplib": "^0.10.9", "google-protobuf": "^4.0.2", "redis": "^4.6.0",