node-rs/bcrypt: RollupError: Unexpected character '\u{7f}'

オープン
#816 コメント 9 件 リアクション 1 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
docker, nodejs, rollup, rust, vite

調査の方向性

まず、提供された Dockerfile で package.json と pnpm-lock.yaml を使って失敗を再現し、その後、Docker ビルドと動作する Vercel ビルドを比較します。SvelteKit/Vite/Rollup ビルド中に @node-rs/bcrypt がどのように扱われるかを追跡します。再現可能な互換性の原因を特定し、Rollup の解析エラーなしで Docker ビルドを文書化または修正できれば完了です。

索引モデルが issue の本文から書いたものです。

説明

I'm having issue during building a SvelteKit project with napi-rs/node-rs. The issue occurs when building it in Docker image but when I build it on Vercel it's working.

I tried to use vite.config.ts from use-napi-rs-packages-with-bundlers but I'm only getting another error (SvelteKit can't use webpack).

✓ built in 15.37s

> Using @sveltejs/adapter-node
error during build:
RollupError: Unexpected character '\u{7f}'
     at getRollupError (file:///app/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/es/shared/parseAst.js:376:41)
     at ParseError.initialise (file:///app/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/es/shared/node-entry.js:11175:28)
     at convertNode (file:///app/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/es/shared/node-entry.js:12915:10)
     at convertProgram (file:///app/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/es/shared/node-entry.js:12235:12)
     at Module.setSource (file:///app/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/es/shared/node-entry.js:14074:24)
     at async ModuleLoader.addModuleSource (file:///app/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/es/shared/node-entry.js:18713:13)
------
Dockerfile:12
--------------------
  10 |     ENV NODE_ENV=production
  11 |     ENV IS_DOCKER=true
  12 | >>> RUN npm run build
  13 |
  14 |     FROM node:18.20.0-alpine3.19
--------------------
ERROR: failed to solve: process "/bin/sh -c npm run build" did not complete successfully: exit code: 1

I'm using @sveltejs/kit@^2.5.5, @node-rs/bcrypt@^1.10.1 and vite@^5.2.7. This error occurs in another dockerized SvelteKit projects aswell.

"devDependencies": {
	"@internationalized/date": "^3.5.2",
	"@melt-ui/pp": "^0.3.0",
	"@melt-ui/svelte": "^0.74.4",
	"@node-rs/bcrypt": "^1.10.1",
	"@prgm/sveltekit-progress-bar": "^2.0.0",
	"@sveltejs/adapter-auto": "^3.2.0",
	"@sveltejs/adapter-node": "^5.0.1",
	"@sveltejs/adapter-vercel": "^5.2.0",
	"@sveltejs/kit": "^2.5.5",
	"@sveltejs/vite-plugin-svelte": "^3.0.2",
	"@tanstack/query-persist-client-core": "^5.28.9",
	"@tanstack/query-sync-storage-persister": "^5.28.9",
	"@tanstack/react-query-persist-client": "^5.28.9",
	"@tanstack/svelte-query": "^5.28.9",
	"@tanstack/svelte-query-devtools": "^5.28.10",
	"@typegoose/auto-increment": "^4.2.0",
	"@types/bcrypt": "^5.0.2",
	"@types/crypto-js": "^4.2.2",
	"@types/js-cookie": "^3.0.6",
	"@types/mongoose-auto-increment": "^5.0.38",
	"@types/mongoose-sequence": "^3.0.11",
	"@types/uuid": "^9.0.8",
	"@vitejs/plugin-react": "^4.2.1",
	"axios": "^1.6.8",
	"crypto-js": "^4.2.0",
	"jose": "^5.2.3",
	"js-cookie": "^3.0.5",
	"mongoose": "^8.2.4",
	"mongoose-auto-increment": "^5.0.1",
	"mongoose-paginate-v2": "^1.8.0",
	"mongoose-sequence": "^6.0.1",
	"rollup-plugin-typescript2": "^0.36.0",
	"sass": "^1.72.0",
	"svelte": "^4.2.12",
	"svelte-check": "^3.6.8",
	"swrv": "^1.0.4",
	"ts-node": "^10.9.2",
	"ts-patch": "^3.1.2",
	"tslib": "^2.6.2",
	"typescript": "^5.4.3",
	"uuid": "^9.0.1",
	"vite": "^5.2.7"
},

My Dockerfile is:

FROM node:18.20.0-alpine3.19 AS builder

RUN npm install -g pnpm

WORKDIR /app
COPY package.json pnpm-lock.yaml ./
RUN pnpm i

COPY . .
ENV NODE_ENV=production
ENV IS_DOCKER=true
RUN npm run build

FROM node:18.20.0-alpine3.19
WORKDIR /app
COPY --from=builder /app/build build/
COPY package.json .
EXPOSE 3000
CMD ["node", "build"]
主要言語
Rust
スター
1.5k
フォーク
52
平均マージ
1日 2時間
マージ済み PR(30日)
14

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

napi-rs/node-rs のほかの issue

napi-rs/node-rs の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。