+
Skip to content

Bug: pnpm build fails due to missing or misconfigured web worker #894

Open
@dilluti0n

Description

@dilluti0n
$ docker compose build
Compose can now delegate builds to bake for better performance.
 To do so, set COMPOSE_BAKE=true.
[+] Building 7.5s (9/11)                                                 docker:default
 => [risuai internal] load build definition from Dockerfile                        0.0s
 => => transferring dockerfile: 288B                                               0.0s
 => [risuai internal] load metadata for docker.io/library/node:20                  0.7s
 => [risuai internal] load .dockerignore                                           0.0s
 => => transferring context: 53B                                                   0.0s
 => [risuai 1/7] FROM docker.io/library/node:20@sha256:7c4cd7c6935554b79c6fffb88e  0.0s
[+] Building 7.7s (9/11)                                                 docker:default
 => [risuai internal] load build definition from Dockerfile                        0.0s
 => => transferring dockerfile: 288B                                               0.0s
 => [risuai internal] load metadata for docker.io/library/node:20                  0.7s
 => [risuai internal] load .dockerignore                                           0.0s
 => => transferring context: 53B                                                   0.0s
 => [risuai 1/7] FROM docker.io/library/node:20@sha256:7c4cd7c6935554b79c6fffb88e  0.0s
[+] Building 7.8s (9/11)                                                 docker:default
 => [risuai internal] load build definition from Dockerfile                        0.0s
 => => transferring dockerfile: 288B                                               0.0s
 => [risuai internal] load metadata for docker.io/library/node:20                  0.7s
 => [risuai internal] load .dockerignore                                           0.0s
 => => transferring context: 53B                                                   0.0s
 => [risuai 1/7] FROM docker.io/library/node:20@sha256:7c4cd7c6935554b79c6fffb88e  0.0s
[+] Building 8.0s (9/11)                                                 docker:default
 => [risuai internal] load build definition from Dockerfile                        0.0s
 => => transferring dockerfile: 288B                                               0.0s
 => [risuai internal] load metadata for docker.io/library/node:20                  0.7s
 => [risuai internal] load .dockerignore                                           0.0s
 => => transferring context: 53B                                                   0.0s
 => [risuai 1/7] FROM docker.io/library/node:20@sha256:7c4cd7c6935554b79c6fffb88e  0.0s
[+] Building 8.1s (9/11)                                                 docker:default
 => => transferring context: 567.51kB                                              0.1s
 => CACHED [risuai 2/7] WORKDIR /app                                               0.0s
 => [risuai 3/7] COPY . .                                                          3.2s
 => [risuai 4/7] RUN npm install -g corepack@latest                                0.7s
 => [risuai 5/7] RUN corepack enable &&     corepack install --global pnpm@latest  0.8s
 => [risuai 6/7] RUN pnpm install --frozen-lockfile                                2.5s
[+] Building 22.3s (11/11) FINISHED                                      docker:default
 => [risuai internal] load build definition from Dockerfile                        0.0s
 => => transferring dockerfile: 288B                                               0.0s
 => [risuai internal] load metadata for docker.io/library/node:20                  0.7s
 => [risuai internal] load .dockerignore                                           0.0s
 => => transferring context: 53B                                                   0.0s
 => [risuai 1/7] FROM docker.io/library/node:20@sha256:7c4cd7c6935554b79c6fffb88e  0.0s
 => [risuai internal] load build context                                           0.1s
 => => transferring context: 567.51kB                                              0.1s
 => CACHED [risuai 2/7] WORKDIR /app                                               0.0s
 => [risuai 3/7] COPY . .                                                          3.2s
 => [risuai 4/7] RUN npm install -g corepack@latest                                0.7s
 => [risuai 5/7] RUN corepack enable &&     corepack install --global pnpm@latest  0.8s
 => [risuai 6/7] RUN pnpm install --frozen-lockfile                                9.8s
 => ERROR [risuai 7/7] RUN pnpm build                                              6.9s
------
 > [risuai 7/7] RUN pnpm build:
0.405
0.405 > risuai@1.0.0 build /app
0.405 > vite build
0.405
0.789 vite v5.4.9 building for production...
0.987 transforming...
1.009 Browserslist: caniuse-lite is outdated. Please run:
1.009   npx update-browserslist-db@latest
1.009   Why you should do it regularly: https://github.com/browserslist/update-db#readme
6.753 ✓ 1577 modules transformed.
6.754 x Build failed in 5.79s
6.754 error during build:
6.754 [vite:worker-import-meta-url] Could not resolve entry module "src/ts/process/pyworker.js".
6.754 file: /app/src/ts/process/scriptings.ts
6.754     at getRollupError (file:///app/node_modules/.pnpm/rollup@4.24.0/node_modules/rollup/dist/es/shared/parseAst.js:395:41)
6.754     at error (file:///app/node_modules/.pnpm/rollup@4.24.0/node_modules/rollup/dist/es/shared/parseAst.js:391:42)
6.754     at ModuleLoader.loadEntryModule (file:///app/node_modules/.pnpm/rollup@4.24.0/node_modules/rollup/dist/es/shared/node-entry.js:20027:20)
6.754     at async Promise.all (index 0)
6.814  ELIFECYCLE  Command failed with exit code 1.
------
failed to solve: process "/bin/sh -c pnpm build" did not complete successfully: exit code: 1

Since there is no file src/ts/process/pyworker.js, I tried this:

diff --git a/src/ts/process/scriptings.ts b/src/ts/process/scriptings.ts
index 8393872a..c9632f5c 100644
--- a/src/ts/process/scriptings.ts
+++ b/src/ts/process/scriptings.ts
@@ -1058,7 +1058,7 @@ class PyodideContext{
     apis: Record<string, (...args:any[]) => any> = {};
     inited: boolean = false;
     constructor(){
-        this.worker = new Worker(new URL('./pyworker.js', import.meta.url), {
+        this.worker = new Worker(new URL('./pyworker.ts', import.meta.url), {
             type: 'module'
         })
         this.worker.onmessage = (event:MessageEvent) => {
@@ -1141,4 +1141,4 @@ class PyodideContext{
     async close(){
         this.worker.terminate();
     }
-}
\ No newline at end of file
+}

However in this case it is failing with this bunch of errors

 => ERROR [risuai 7/7] RUN pnpm build                                              7.0s
------
 > [risuai 7/7] RUN pnpm build:
0.394
0.394 > risuai@1.0.0 build /app
0.394 > vite build
0.394
0.780 vite v5.4.9 building for production...
0.977 transforming...
0.999 Browserslist: caniuse-lite is outdated. Please run:
0.999   npx update-browserslist-db@latest
0.999   Why you should do it regularly: https://github.com/browserslist/update-db#readme
6.777 [plugin:vite:resolve] [plugin vite:resolve] Module "node:url" has been externalized for browser compatibility, imported by "/app/node_modules/.pnpm/pyodide@0.27.6/node_modules/pyodide/pyodide.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
6.777 [plugin:vite:resolve] [plugin vite:resolve] Module "node:fs" has been externalized for browser compatibility, imported by "/app/node_modules/.pnpm/pyodide@0.27.6/node_modules/pyodide/pyodide.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
6.777 [plugin:vite:resolve] [plugin vite:resolve] Module "node:fs/promises" has been externalized for browser compatibility, imported by "/app/node_modules/.pnpm/pyodide@0.27.6/node_modules/pyodide/pyodide.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
6.777 [plugin:vite:resolve] [plugin vite:resolve] Module "node:vm" has been externalized for browser compatibility, imported by "/app/node_modules/.pnpm/pyodide@0.27.6/node_modules/pyodide/pyodide.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
6.777 [plugin:vite:resolve] [plugin vite:resolve] Module "node:path" has been externalized for browser compatibility, imported by "/app/node_modules/.pnpm/pyodide@0.27.6/node_modules/pyodide/pyodide.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
6.777 [plugin:vite:resolve] [plugin vite:resolve] Module "node:crypto" has been externalized for browser compatibility, imported by "/app/node_modules/.pnpm/pyodide@0.27.6/node_modules/pyodide/pyodide.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
6.777 [plugin:vite:resolve] [plugin vite:resolve] Module "node:child_process" has been externalized for browser compatibility, imported by "/app/node_modules/.pnpm/pyodide@0.27.6/node_modules/pyodide/pyodide.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
6.777 [plugin:vite:resolve] [plugin vite:resolve] Module "node:path" has been externalized for browser compatibility, imported by "/app/node_modules/.pnpm/pyodide@0.27.6/node_modules/pyodide/pyodide.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
6.777 [plugin:vite:resolve] [plugin vite:resolve] Module "node:url" has been externalized for browser compatibility, imported by "/app/node_modules/.pnpm/pyodide@0.27.6/node_modules/pyodide/pyodide.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
6.811 ✓ 1588 modules transformed.
6.814 x Build failed in 5.86s
6.814 error during build:
6.814 [vite:worker-import-meta-url] Invalid value "iife" for option "output.format" - UMD and IIFE output formats are not supported for code-splitting builds.
6.814 file: /app/src/ts/process/scriptings.ts
6.814     at getRollupError (file:///app/node_modules/.pnpm/rollup@4.24.0/node_modules/rollup/dist/es/shared/parseAst.js:395:41)
6.814     at error (file:///app/node_modules/.pnpm/rollup@4.24.0/node_modules/rollup/dist/es/shared/parseAst.js:391:42)
6.814     at validateOptionsForMultiChunkOutput (file:///app/node_modules/.pnpm/rollup@4.24.0/node_modules/rollup/dist/es/shared/node-entry.js:19108:16)
6.814     at Bundle.generate (file:///app/node_modules/.pnpm/rollup@4.24.0/node_modules/rollup/dist/es/shared/node-entry.js:19002:17)
6.814     at async file:///app/node_modules/.pnpm/rollup@4.24.0/node_modules/rollup/dist/es/shared/node-entry.js:21688:27
6.814     at async catchUnfinishedHookActions (file:///app/node_modules/.pnpm/rollup@4.24.0/node_modules/rollup/dist/es/shared/node-entry.js:21076:16)
6.814     at async bundleWorkerEntry (file:///app/node_modules/.pnpm/vite@5.4.9_@types+node@18.19.7/node_modules/vite/dist/node/chunks/dep-Cyk9bIUq.js:47620:9)
6.814     at async workerFileToUrl (file:///app/node_modules/.pnpm/vite@5.4.9_@types+node@18.19.7/node_modules/vite/dist/node/chunks/dep-Cyk9bIUq.js:47682:25)
6.814     at async Object.transform (file:///app/node_modules/.pnpm/vite@5.4.9_@types+node@18.19.7/node_modules/vite/dist/node/chunks/dep-Cyk9bIUq.js:48119:26)
6.814     at async transform (file:///app/node_modules/.pnpm/rollup@4.24.0/node_modules/rollup/dist/es/shared/node-entry.js:19581:16)
6.875  ELIFECYCLE  Command failed with exit code 1.
------
failed to solve: process "/bin/sh -c pnpm build" did not complete successfully: exit code: 1

I have no idea why build itself is failing on official release(v161.3.0)......... If somebody could help I would really appreciate it.
Regards.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载