Build Breaking Astro 4.0
Closed this issue · 5 comments
alexanderniebuhr commented
- update astro to 4.0
- run
pnpm run build
❯ pnpm --filter @astrojs/cloudflare run build
> @astrojs/cloudflare@7.7.1 build /Users/alexanderniebuhr/Developer/Projects/withastro_adapters/packages/cloudflare
> tsc
src/index.ts:98:8 - error TS2322: Type 'Plugin_2' is not assignable to type 'PluginOption'.
Type 'Plugin_2' is not assignable to type 'Plugin<any>'.
Types of property 'apply' are incompatible.
Type '"build" | "serve" | ((this: void, config: import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@4.5.0_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).UserConfig, env: import("/Users/alexanderniebuhr/Developer/Projects/withas...' is not assignable to type '"build" | "serve" | ((this: void, config: import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@5.0.3_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).UserConfig, env: import("/Users/alexanderniebuhr/Developer/Projects/withas...'.
Type '(this: void, config: UserConfig, env: ConfigEnv) => boolean' is not assignable to type '"build" | "serve" | ((this: void, config: UserConfig, env: ConfigEnv) => boolean) | undefined'.
Type '(this: void, config: import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@4.5.0_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).UserConfig, env: import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_mod...' is not assignable to type '(this: void, config: import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@5.0.3_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).UserConfig, env: import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_mod...'.
Types of parameters 'config' and 'config' are incompatible.
Type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@5.0.3_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).UserConfig' is not assignable to type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@4.5.0_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).UserConfig'.
Types of property 'plugins' are incompatible.
Type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@5.0.3_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).PluginOption[] | undefined' is not assignable to type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@4.5.0_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).PluginOption[] | undefined'.
Type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@5.0.3_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).PluginOption[]' is not assignable to type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@4.5.0_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).PluginOption[]'.
Type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@5.0.3_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).PluginOption' is not assignable to type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@4.5.0_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).PluginOption'.
Type 'Plugin<any>' is not assignable to type 'PluginOption'.
Type 'Plugin<any>' is not assignable to type 'Plugin_2'.
Types of property 'apply' are incompatible.
Type '"build" | "serve" | ((this: void, config: import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@5.0.3_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).UserConfig, env: import("/Users/alexanderniebuhr/Developer/Projects/withas...' is not assignable to type '"build" | "serve" | ((this: void, config: import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@4.5.0_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).UserConfig, env: import("/Users/alexanderniebuhr/Developer/Projects/withas...'.
Type '(this: void, config: UserConfig, env: ConfigEnv) => boolean' is not assignable to type '"build" | "serve" | ((this: void, config: UserConfig, env: ConfigEnv) => boolean) | undefined'.
Type '(this: void, config: import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@5.0.3_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).UserConfig, env: import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_mod...' is not assignable to type '(this: void, config: import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@4.5.0_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).UserConfig, env: import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_mod...'.
Types of parameters 'config' and 'config' are incompatible.
Type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@4.5.0_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).UserConfig' is not assignable to type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@5.0.3_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).UserConfig'.
Types of property 'plugins' are incompatible.
Type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@4.5.0_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).PluginOption[] | undefined' is not assignable to type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@5.0.3_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).PluginOption[] | undefined'.
Type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@4.5.0_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).PluginOption[]' is not assignable to type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@5.0.3_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).PluginOption[]'.
Type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@4.5.0_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).PluginOption' is not assignable to type 'import("/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/node_modules/.pnpm/vite@5.0.3_@types+node@18.17.8/node_modules/vite/dist/node/index", { assert: { "resolution-mode": "import" } }).PluginOption'.
Type 'PluginOption[]' is not assignable to type 'PluginOption'.
98 wasmModuleLoader({
~~~~~~~~~~~~~~~~~~
99 disabled: !args?.wasmModuleImports,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
100 assetsDirectory: config.build.assets,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
101 }),
~~~~~~~~~
Found 1 error in src/index.ts:98
/Users/alexanderniebuhr/Developer/Projects/withastro_adapters/packages/cloudflare:
ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL @astrojs/cloudflare@7.7.1 build: `tsc`
Exit status 2
vasfvitor commented
From what I gathered updating vite to 5 fixes the building part. But then wasm tests fails
I'm lacking development context, I just jumped in
Wasm tests log output (WARNING: Long)
PS ..\cloudflare> pnpm test:wasm
> @astrojs/cloudflare@7.7.1 test:wasm C:\Users\Vit\Documents\GitHub\astro-adapters\packages\cloudflare
> mocha --exit --timeout 30000 'test/wasm*'
WasmDirectoryImport
[stderr] X [ERROR] 1 error(s) and 0 warning(s) when compiling Worker.
[stderr] X [ERROR] ENOENT: no such file or directory, open 'C:\Users\Vit\Documents\GitHub\astro-adapters\packages\cloudflare\test\fixtures\wasm-directory\dist\_astro\__WASM_ASSET__4lXqE0R3.wasm' [plugin wrangler-module-collector]
[[path]].js:49:21221:
49 │ ...rt Ir from"../dist/_astro/__WASM_ASSET__4lXqE0R3.wasm";async fu...
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This error came from the "onResolve" callback registered here:
../../../../../../node_modules/.pnpm/wrangler@3.15.0/node_modules/wrangler/wrangler-dist/cli.js:121934:19:
121934 │ build5.onResolve(
╵ ~~~~~~~~~
at C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\wrangler@3.15.0\node_modules\wrangler\wrangler-dist\cli.js:121934:20
at Array.forEach (<anonymous>)
at C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\wrangler@3.15.0\node_modules\wrangler\wrangler-dist\cli.js:121933:22
at Array.forEach (<anonymous>)
at setup (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\wrangler@3.15.0\node_modules\wrangler\wrangler-dist\cli.js:121929:28)
at handlePlugins (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:1279:21)
at buildOrContextImpl (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:968:5)
at Object.buildOrContext (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:776:5)
at C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:2163:15
[stderr] X [ERROR] Build failed with 1 error:
[[path]].js:49:21221: ERROR: [plugin: wrangler-module-collector] ENOENT: no such file or directory, open 'C:\Users\Vit\Documents\GitHub\astro-adapters\packages\cloudflare\test\fixtures\wasm-directory\dist\_astro\__WASM_ASSET__4lXqE0R3.wasm'
PS ..\cloudflare> pnpm test:wasm
> @astrojs/cloudflare@7.7.1 test:wasm C:\Users\Vit\Documents\GitHub\astro-adapters\packages\cloudflare
> mocha --exit --timeout 30000 'test/wasm*'
WasmDirectoryImport
[stderr] X [ERROR] 1 error(s) and 0 warning(s) when compiling Worker.
[stderr] X [ERROR] ENOENT: no such file or directory, open 'C:\Users\Vit\Documents\GitHub\astro-adapters\packages\cloudflare\test\fixtures\wasm-directory\dist\_astro\__WASM_ASSET__4lXqE0R3.wasm' [plugin wrangler-module-collector]
[[path]].js:49:21221:
49 │ ...rt Ir from"../dist/_astro/__WASM_ASSET__4lXqE0R3.wasm";async fu...
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This error came from the "onResolve" callback registered here:
../../../../../../node_modules/.pnpm/wrangler@3.15.0/node_modules/wrangler/wrangler-dist/cli.js:121934:19:
121934 │ build5.onResolve(
╵ ~~~~~~~~~
at C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\wrangler@3.15.0\node_modules\wrangler\wrangler-dist\cli.js:121934:20
at Array.forEach (<anonymous>)
at C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\wrangler@3.15.0\node_modules\wrangler\wrangler-dist\cli.js:121933:22
at Array.forEach (<anonymous>)
at setup (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\wrangler@3.15.0\node_modules\wrangler\wrangler-dist\cli.js:121929:28)
at handlePlugins (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:1279:21)
at buildOrContextImpl (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:968:5)
at Object.buildOrContext (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:776:5)
at C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:2163:15
[stderr] X [ERROR] Build failed with 1 error:
[[path]].js:49:21221: ERROR: [plugin: wrangler-module-collector] ENOENT: no such file or directory, open 'C:\Users\Vit\Documents\GitHub\astro-adapters\packages\cloudflare\test\fixtures\wasm-directory\dist\_astro\__WASM_ASSET__4lXqE0R3.wasm'
1) "before all" hook for "can render"
CLEANED
WasmFunctionPerRouteImport
[stderr] X [ERROR] 2 error(s) and 0 warning(s) when compiling Worker.
[stderr] X [ERROR] ENOENT: no such file or directory, open 'C:\Users\Vit\Documents\GitHub\astro-adapters\packages\cloudflare\test\fixtures\wasm-function-per-route\dist\_astro\__WASM_ASSET__4lXqE0R3.wasm' [plugin wrangler-module-collector]
deeply/nested/route.js:16:23:
16 │ ...asmModule from "../../../dist/_astro/__WASM_ASSET__4lXqE0R3.wasm";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This error came from the "onResolve" callback registered here:
../../../../../../node_modules/.pnpm/wrangler@3.15.0/node_modules/wrangler/wrangler-dist/cli.js:121934:19:
121934 │ build5.onResolve(
╵ ~~~~~~~~~
at C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\wrangler@3.15.0\node_modules\wrangler\wrangler-dist\cli.js:121934:20
at Array.forEach (<anonymous>)
at C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\wrangler@3.15.0\node_modules\wrangler\wrangler-dist\cli.js:121933:22
at Array.forEach (<anonymous>)
at setup (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\wrangler@3.15.0\node_modules\wrangler\wrangler-dist\cli.js:121929:28)
at handlePlugins (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:1279:21)
at buildOrContextImpl (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:968:5)
at Object.buildOrContext (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:776:5)
at C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:2163:15
[stderr] X [ERROR] ENOENT: no such file or directory, open 'C:\Users\Vit\Documents\GitHub\astro-adapters\packages\cloudflare\test\fixtures\wasm-function-per-route\dist\_astro\__WASM_ASSET__4lXqE0R3.wasm' [plugin wrangler-module-collector]
index.js:21:23:
21 │ import wasmModule from "../dist/_astro/__WASM_ASSET__4lXqE0R3.wasm";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This error came from the "onResolve" callback registered here:
../../../../../../node_modules/.pnpm/wrangler@3.15.0/node_modules/wrangler/wrangler-dist/cli.js:121934:19:
121934 │ build5.onResolve(
╵ ~~~~~~~~~
at C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\wrangler@3.15.0\node_modules\wrangler\wrangler-dist\cli.js:121934:20
at Array.forEach (<anonymous>)
at C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\wrangler@3.15.0\node_modules\wrangler\wrangler-dist\cli.js:121933:22
at Array.forEach (<anonymous>)
at setup (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\wrangler@3.15.0\node_modules\wrangler\wrangler-dist\cli.js:121929:28)
at handlePlugins (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:1279:21)
at buildOrContextImpl (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:968:5)
at Object.buildOrContext (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:776:5)
at C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:2163:15
X [ERROR] Build failed with 2 errors:
deeply/nested/route.js:16:23: ERROR: [plugin: wrangler-module-collector] ENOENT: no such file or directory, open 'C:\Users\Vit\Documents\GitHub\astro-adapters\packages\cloudflare\test\fixtures\wasm-function-per-route\dist\_astro\__WASM_ASSET__4lXqE0R3.wasm'
index.js:21:23: ERROR: [plugin: wrangler-module-collector] ENOENT: no such file or directory, open 'C:\Users\Vit\Documents\GitHub\astro-adapters\packages\cloudflare\test\fixtures\wasm-function-per-route\dist\_astro\__WASM_ASSET__4lXqE0R3.wasm'
2) "before all" hook for "can render"
CLEANED
WasmImport
[stderr] X [ERROR] 1 error(s) and 0 warning(s) when compiling Worker.
[stderr] ▲ [WARNING] Failed to bundle _worker.js. Error: Build failed with 1 error:
_worker.js:49:21205: ERROR: [plugin: wrangler-module-collector] ENOENT: no such file or directory, open 'C:\Users\Vit\Documents\GitHub\astro-adapters\packages\cloudflare\test\fixtures\wasm\dist\_astro\__WASM_ASSET__4lXqE0R3.wasm'
at failureErrorWithLog (C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:1636:15)
at C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:1048:25
at C:\Users\Vit\Documents\GitHub\astro-adapters\node_modules\.pnpm\esbuild@0.17.19\node_modules\esbuild\lib\main.js:1512:9
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
errors: [
{
detail: [Error],
id: '',
location: [Object],
notes: [Array],
pluginName: 'wrangler-module-collector',
text: "ENOENT: no such file or directory, open 'C:\\Users\\Vit\\Documents\\GitHub\\astro-adapters\\packages\\cloudflare\\test\\fixtures\\wasm\\dist\\_astro\\__WASM_ASSET__4lXqE0R3.wasm'"
}
],
warnings: []
}
3) "before all" hook for "can render"
CLEANED
0 passing (2m)
3 failing
1) WasmDirectoryImport
"before all" hook for "can render":
Error: Timeout of 30000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (C:\Users\Vit\Documents\GitHub\astro-adapters\packages\cloudflare\test\wasm-directory.test.js)
at listOnTimeout (node:internal/timers:573:17)
at process.processTimers (node:internal/timers:514:7)
2) WasmFunctionPerRouteImport
"before all" hook for "can render":
Error: Timeout of 30000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (C:\Users\Vit\Documents\GitHub\astro-adapters\packages\cloudflare\test\wasm-function-per-route.test.js)
at listOnTimeout (node:internal/timers:573:17)
at process.processTimers (node:internal/timers:514:7)
3) WasmImport
"before all" hook for "can render":
Error: Timeout of 30000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (C:\Users\Vit\Documents\GitHub\astro-adapters\packages\cloudflare\test\wasm.test.js)
at listOnTimeout (node:internal/timers:573:17)
at process.processTimers (node:internal/timers:514:7)
ELIFECYCLE Command failed with exit code 3.
alexanderniebuhr commented
lilnasy commented
@alexanderniebuhr Wasm loading still fails though right?
alexanderniebuhr commented
Tests are successful, but they are not yet updated to Astro 4. So you might be right, I'll add a PR with tests updated to 4.0, so we can check.
lilnasy commented
This is the branch with my attempt to fix it from yesterday: https://github.com/withastro/adapters/tree/wasm-replace-fix
Based on the last cut release so it can be released as a patch to v7.