magne4000 / vite-plugin-vercel

Vercel adapter for vite
https://test-vite-vercel-plugin.vercel.app
97 stars 13 forks source link

Bundles as CJS even in `"type": "module"` #37

Closed mikestopcontinues closed 10 months ago

mikestopcontinues commented 10 months ago

My tsconfig.json and vite.config.ts seems to be configured identically to the example repos. The first step in the build process produces ESM. However, my api handler gets compiled to CJS. When Vercel tries to run the function, it errors:

ReferenceError: exports is not defined in ES module scope
This file is being treated as an ES module because it has a '.js' file extension and '/var/task/apps/api/package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.

Are there any known culprits to this behavior?

magne4000 commented 10 months ago

Currently, endpoints (beside edge endpoints) are always compiled to CJS, because that was the only thing that Vercel was able to run at the time. I failed to stumble upon a use case that required me to have to implement an ESM target, and looking at your error message, I'm still not sure. What is your "first step in the build process" exactly? If this first steps creates .cjs instead (you could try just renaming those files manually), does it work, or do you have other issues?

mikestopcontinues commented 10 months ago

Sorry, I just realized I misinterpreted "first step." I tried a few variations where my old entry was still building.

Vercel (on Node 18) expects .js to be esm with package type "module". I'm sure I can rename the output files to cjs, but I also need to update .vc-config.json.

What I'm wondering about is why your examples are all "module" but presumably work fine. Are they deployed to an earlier version of node?

magne4000 commented 10 months ago

The demo page is deployed with node@18, but it uses Vike, which generates esm+cjs files. Are you using Vike? If not perhaps I need to make sure that the compilation steps generates .cjs files.

magne4000 commented 10 months ago

Here is the full log of the last deploy if it can be of any help pinpointing the difference:

Building logs ```sh [15:51:50.407] Running build in Washington, D.C., USA (East) – iad1 (Hive) [15:51:50.513] Cloning github.com/magne4000/vite-plugin-vercel (Branch: main, Commit: 5293d41) [15:51:50.846] Cloning completed: 331.837ms [15:51:54.756] Restored build cache [15:51:54.829] Running "vercel build" [15:51:55.300] Vercel CLI 32.4.1 [15:51:55.989] Detected `pnpm-lock.yaml` version 6 generated by pnpm 8 [15:51:55.989] Running "install" command: `pnpm install`... [15:51:56.587] Scope: all 6 workspace projects [15:51:56.589]  WARN  There are cyclic workspace dependencies: /vercel/path0/packages/vercel, /vercel/path0/packages/vike-integration [15:51:56.740] Lockfile is up to date, resolution step is skipped [15:51:56.849] Already up to date [15:51:57.728] [15:51:57.738] . prepare$ husky install [15:51:57.817] . prepare: husky - Git hooks installed [15:51:57.821] . prepare: Done [15:51:57.957] Done in 1.9s [15:51:58.479] [15:51:58.479] > vite-plugin-vercel-workspace-root@ build:demo /vercel/path0 [15:51:58.479] > pnpm run build:all && cp -rf examples/demo/public examples/demo/.vercel . [15:51:58.479] [15:51:58.982] [15:51:58.982] > vite-plugin-vercel-workspace-root@ build:all /vercel/path0 [15:51:58.982] > pnpm -r --filter "./packages/vercel" build && pnpm -r --filter "./packages/vike-integration" build && pnpm -r --filter "./examples/*" build [15:51:58.982] [15:51:59.525] [15:51:59.525] > vite-plugin-vercel@2.0.0 build /vercel/path0/packages/vercel [15:51:59.525] > tsup [15:51:59.525] [15:51:59.747] CLI Building entry: ./src/index.ts [15:51:59.747] CLI Using tsconfig: tsconfig.json [15:51:59.747] CLI tsup v7.2.0 [15:51:59.747] CLI Using tsup config: /vercel/path0/packages/vercel/tsup.config.ts [15:51:59.751] CLI Target: node16 [15:51:59.752] ESM Build start [15:51:59.753] CJS Build start [15:51:59.782] CJS dist/index.cjs 25.19 KB [15:51:59.783] CJS ⚡️ Build success in 30ms [15:51:59.784] ESM dist/index.js 21.34 KB [15:51:59.785] ESM ⚡️ Build success in 32ms [15:52:00.170] DTS Build start [15:52:02.658] DTS ⚡️ Build success in 2488ms [15:52:02.659] DTS dist/index.d.ts 22.07 KB [15:52:02.659] DTS dist/index.d.cts 22.07 KB [15:52:03.220] [15:52:03.221] > @vite-plugin-vercel/vike@2.0.0 build /vercel/path0/packages/vike-integration [15:52:03.221] > tsup [15:52:03.221] [15:52:03.438] CLI Building entry: ./vike.ts, ./templates/helpers.ts, ./+config.h.ts [15:52:03.439] CLI Using tsconfig: tsconfig.json [15:52:03.439] CLI tsup v7.2.0 [15:52:03.439] CLI Using tsup config: /vercel/path0/packages/vike-integration/tsup.config.ts [15:52:03.443] CLI Target: node16 [15:52:03.447] CLI Cleaning output folder [15:52:03.448] ESM Build start [15:52:03.464] ESM dist/vike.js 10.99 KB [15:52:03.464] ESM dist/templates/helpers.js 1.16 KB [15:52:03.465] ESM dist/+config.h.js 265.00 B [15:52:03.465] ESM ⚡️ Build success in 16ms [15:52:03.826] DTS Build start [15:52:05.705] DTS ⚡️ Build success in 1880ms [15:52:05.706] DTS dist/vike.d.ts 1.46 KB [15:52:05.706] DTS dist/templates/helpers.d.ts 1.13 KB [15:52:05.706] DTS dist/_config.h.d.ts 139.00 B [15:52:06.263] Scope: 3 of 6 workspace projects [15:52:06.266] examples/demo build$ vite build [15:52:06.267] examples/demo-vps-0.4 build$ vite build [15:52:06.268] examples/simple build$ vite build [15:52:06.958] examples/simple build: vite v4.4.11 building for production... [15:52:06.990] examples/simple build: transforming... [15:52:06.997] examples/simple build: ✓ 1 modules transformed. [15:52:07.022] examples/simple build: rendering chunks... [15:52:07.028] examples/simple build: computing gzip size... [15:52:07.032] examples/simple build: dist/index.html 0.28 kB │ gzip: 0.20 kB [15:52:07.122] examples/simple build: .vercel/output/functions/api/edge.func/index.js 83b [15:52:07.123] examples/simple build: ⚡ Done in 5ms [15:52:07.217] examples/simple build: .vercel/output/functions/api/endpoint.func/index.js 518b [15:52:07.220] examples/simple build: ⚡ Done in 2ms [15:52:07.258] examples/demo-vps-0.4 build: vite v4.4.11 building for production... [15:52:07.264] examples/simple build: .vercel/output/functions/api/headers.func/index.js 603b [15:52:07.264] examples/simple build: ⚡ Done in 2ms [15:52:07.294] examples/simple build: .vercel/output/functions/api/isr.func/index.js 576b [15:52:07.295] examples/simple build: ⚡ Done in 3ms [15:52:07.298] examples/demo-vps-0.4 build: transforming... [15:52:07.337] examples/simple build: ✓ built in 383ms [15:52:07.353] examples/simple build: Done [15:52:07.392] examples/demo build: vite v4.4.11 building for production... [15:52:07.417] examples/demo build: transforming... [15:52:10.347] examples/demo-vps-0.4 build: ✓ 198 modules transformed. [15:52:10.453] examples/demo build: ✓ 211 modules transformed. [15:52:10.483] examples/demo-vps-0.4 build: rendering chunks... [15:52:10.594] examples/demo-vps-0.4 build: computing gzip size... [15:52:10.594] examples/demo build: rendering chunks... [15:52:10.621] examples/demo-vps-0.4 build: dist/client/vike.json  0.24 kB │ gzip: 0.18 kB [15:52:10.621] examples/demo-vps-0.4 build: dist/client/assets/static/logo.bebe2e90.svg  5.79 kB │ gzip: 2.00 kB [15:52:10.621] examples/demo-vps-0.4 build: dist/client/_temp_manifest.json  7.65 kB │ gzip: 0.89 kB [15:52:10.622] examples/demo-vps-0.4 build: dist/client/assets/static/default.page.server.d4835ae9.css  0.15 kB │ gzip: 0.14 kB [15:52:10.622] examples/demo-vps-0.4 build: dist/client/assets/entries/renderer_default.page.server.extractAssets.334717de.js  0.00 kB │ gzip: 0.02 kB [15:52:10.622] examples/demo-vps-0.4 build: dist/client/assets/entries/pages_isr_index.page.server.extractAssets.4ed993c7.js  0.00 kB │ gzip: 0.02 kB [15:52:10.622] examples/demo-vps-0.4 build: dist/client/assets/entries/pages_function_index.page.server.extractAssets.4ed993c7.js  0.00 kB │ gzip: 0.02 kB [15:52:10.622] examples/demo-vps-0.4 build: dist/client/assets/entries/pages_named_index.page.server.extractAssets.4ed993c7.js  0.00 kB │ gzip: 0.02 kB [15:52:10.622] examples/demo-vps-0.4 build: dist/client/assets/entries/pages_static_index.page.server.extractAssets.4ed993c7.js  0.00 kB │ gzip: 0.02 kB [15:52:10.622] examples/demo-vps-0.4 build: dist/client/assets/entries/pages_dynamic_index.page.server.extractAssets.4ed993c7.js  0.00 kB │ gzip: 0.02 kB [15:52:10.623] examples/demo-vps-0.4 build: dist/client/assets/entries/pages_catch-all_index.page.server.extractAssets.b8afb6e4.js  0.12 kB │ gzip: 0.13 kB [15:52:10.623] examples/demo-vps-0.4 build: dist/client/assets/chunks/chunk-dfffa97e.js  0.18 kB │ gzip: 0.17 kB [15:52:10.623] examples/demo-vps-0.4 build: dist/client/assets/entries/pages_static_index.page.68aef177.js  0.33 kB │ gzip: 0.21 kB [15:52:10.623] examples/demo-vps-0.4 build: dist/client/assets/entries/pages_dynamic_index.page.db5369ff.js  0.34 kB │ gzip: 0.22 kB [15:52:10.623] examples/demo-vps-0.4 build: dist/client/assets/entries/renderer_error.page.e85bf4a4.js  0.36 kB │ gzip: 0.24 kB [15:52:10.623] examples/demo-vps-0.4 build: dist/client/assets/entries/pages_isr_index.page.0a082687.js  0.36 kB │ gzip: 0.24 kB [15:52:10.623] examples/demo-vps-0.4 build: dist/client/assets/chunks/chunk-4a7b42fb.js  0.40 kB │ gzip: 0.28 kB [15:52:10.624] examples/demo-vps-0.4 build: dist/client/assets/entries/pages_index_index.page.2adb743d.js  0.46 kB │ gzip: 0.30 kB [15:52:10.624] examples/demo-vps-0.4 build: dist/client/assets/entries/pages_function_index.page.60645960.js  0.79 kB │ gzip: 0.34 kB [15:52:10.624] examples/demo-vps-0.4 build: dist/client/assets/entries/pages_catch-all_index.page.3c64ac9a.js  0.97 kB │ gzip: 0.35 kB [15:52:10.624] examples/demo-vps-0.4 build: dist/client/assets/entries/pages_named_index.page.d5584ec9.js  1.21 kB │ gzip: 0.41 kB [15:52:10.624] examples/demo-vps-0.4 build: dist/client/assets/entries/entry-server-routing.02c9b7bd.js  4.81 kB │ gzip: 1.45 kB [15:52:10.624] examples/demo-vps-0.4 build: dist/client/assets/chunks/chunk-4d04ce61.js  7.71 kB │ gzip: 2.93 kB [15:52:10.624] examples/demo-vps-0.4 build: dist/client/assets/chunks/chunk-f043e1e6.js  28.62 kB │ gzip: 10.26 kB [15:52:10.624] examples/demo-vps-0.4 build: dist/client/assets/entries/entry-client-routing.99f58a82.js  43.95 kB │ gzip: 13.42 kB [15:52:10.625] examples/demo-vps-0.4 build: dist/client/assets/entries/renderer_default.page.client.198347d5.js 136.24 kB │ gzip: 43.99 kB [15:52:10.663] examples/demo-vps-0.4 build: vite v4.4.11 building SSR bundle for production... [15:52:10.673] examples/demo build: computing gzip size... [15:52:10.686] examples/demo build: dist/client/vike.json  0.24 kB │ gzip: 0.18 kB [15:52:10.687] examples/demo build: dist/client/assets/static/loading.ade72bfe.svg  0.50 kB │ gzip: 0.34 kB [15:52:10.687] examples/demo build: dist/client/_temp_manifest.json  3.81 kB │ gzip: 0.62 kB [15:52:10.687] examples/demo build: dist/client/assets/static/logo.bebe2e90.svg  5.79 kB │ gzip: 2.00 kB [15:52:10.687] examples/demo build: dist/client/assets/static/onPageTransitionEnd.7be06a4d.css  0.73 kB │ gzip: 0.39 kB [15:52:10.687] examples/demo build: dist/client/assets/entries/pages_isr.87d7ae61.js  1.02 kB │ gzip: 0.45 kB [15:52:10.688] examples/demo build: dist/client/assets/entries/pages_static.776b08e1.js  1.04 kB │ gzip: 0.44 kB [15:52:10.688] examples/demo build: dist/client/assets/entries/pages_dynamic.5398e16a.js  1.04 kB │ gzip: 0.44 kB [15:52:10.688] examples/demo build: dist/client/assets/entries/pages_error.01e99496.js  1.11 kB │ gzip: 0.53 kB [15:52:10.689] examples/demo build: dist/client/assets/entries/pages_index.f60daa01.js  1.13 kB │ gzip: 0.51 kB [15:52:10.690] examples/demo build: dist/client/assets/entries/pages_function.2615f214.js  1.39 kB │ gzip: 0.52 kB [15:52:10.690] examples/demo build: dist/client/assets/entries/pages_catch-all.4608afb5.js  1.57 kB │ gzip: 0.53 kB [15:52:10.690] examples/demo build: dist/client/assets/entries/pages_named.4c35aded.js  1.82 kB │ gzip: 0.60 kB [15:52:10.690] examples/demo build: dist/client/assets/entries/entry-client-routing.e3e8a412.js  71.74 kB │ gzip: 22.12 kB [15:52:10.690] examples/demo build: dist/client/assets/chunks/chunk-41b0ad80.js 145.09 kB │ gzip: 46.57 kB [15:52:10.710] examples/demo build: vite v4.4.11 building SSR bundle for production... [15:52:10.715] examples/demo-vps-0.4 build: transforming... [15:52:10.728] examples/demo build: transforming... [15:52:10.854] examples/demo-vps-0.4 build: ✓ 42 modules transformed. [15:52:10.886] examples/demo build: ✓ 37 modules transformed. [15:52:10.891] examples/demo-vps-0.4 build: rendering chunks... [15:52:10.909] examples/demo build: rendering chunks... [15:52:10.913] examples/demo-vps-0.4 build: dist/server/package.json 0.02 kB [15:52:10.913] examples/demo-vps-0.4 build: dist/server/importBuild.cjs 0.47 kB [15:52:10.913] examples/demo-vps-0.4 build: dist/server/entries/pages_isr_index-page-server.mjs 0.17 kB [15:52:10.913] examples/demo-vps-0.4 build: dist/server/entries/pages_static_index-page-server.mjs 0.17 kB [15:52:10.914] examples/demo-vps-0.4 build: dist/server/importBuild.mjs 0.20 kB [15:52:10.914] examples/demo-vps-0.4 build: dist/server/entries/pages_dynamic_index-page-server.mjs 0.22 kB [15:52:10.914] examples/demo-vps-0.4 build: dist/server/entries/pages_function_index-page-server.mjs 0.24 kB [15:52:10.914] examples/demo-vps-0.4 build: dist/server/entries/pages_catch-all_index-page-server.mjs 0.27 kB [15:52:10.915] examples/demo-vps-0.4 build: dist/server/entries/pages_named_index-page-server.mjs 0.32 kB [15:52:10.915] examples/demo-vps-0.4 build: dist/server/entries/pages_static_index-page.mjs 0.54 kB [15:52:10.915] examples/demo-vps-0.4 build: dist/server/entries/pages_dynamic_index-page.mjs 0.54 kB [15:52:10.915] examples/demo-vps-0.4 build: dist/server/entries/renderer_error-page.mjs 0.56 kB [15:52:10.915] examples/demo-vps-0.4 build: dist/server/entries/pages_isr_index-page.mjs 0.58 kB [15:52:10.915] examples/demo-vps-0.4 build: dist/server/chunks/chunk-0b200bd2.js 0.68 kB [15:52:10.915] examples/demo-vps-0.4 build: dist/server/entries/pages_index_index-page.mjs 0.73 kB [15:52:10.915] examples/demo-vps-0.4 build: dist/server/entries/pages_function_index-page.mjs 1.23 kB [15:52:10.915] examples/demo-vps-0.4 build: dist/server/entries/pages_catch-all_index-page.mjs 1.53 kB [15:52:10.915] examples/demo-vps-0.4 build: dist/server/entries/pages_named_index-page.mjs 2.00 kB [15:52:10.915] examples/demo-vps-0.4 build: dist/server/entries/renderer_default-page-server.mjs 3.62 kB [15:52:10.916] examples/demo-vps-0.4 build: dist/server/pageFiles.mjs 8.66 kB [15:52:10.933] examples/demo build: dist/server/package.json 0.02 kB [15:52:10.934] examples/demo build: dist/server/importBuild.cjs 0.47 kB [15:52:10.934] examples/demo build: dist/server/importBuild.mjs 0.20 kB [15:52:10.934] examples/demo build: dist/server/entries/pages_error.mjs 1.29 kB [15:52:10.935] examples/demo build: dist/server/entries/pages_index.mjs 1.32 kB [15:52:10.935] examples/demo build: dist/server/entries/pages_isr.mjs 1.60 kB [15:52:10.935] examples/demo build: dist/server/entries/pages_static.mjs 1.62 kB [15:52:10.935] examples/demo build: dist/server/entries/pages_dynamic.mjs 1.62 kB [15:52:10.935] examples/demo build: dist/server/entries/pages_function.mjs 2.62 kB [15:52:10.935] examples/demo build: dist/server/entries/pages_catch-all.mjs 2.94 kB [15:52:10.936] examples/demo build: dist/server/entries/pages_named.mjs 3.45 kB [15:52:10.936] examples/demo build: dist/server/chunks/chunk-48b10a9a.js 4.34 kB [15:52:10.936] examples/demo build: dist/server/pageFiles.mjs 8.63 kB [15:52:11.111] examples/demo-vps-0.4 build: .vercel/output/functions/edge.func/index.js 4.9kb [15:52:11.114] examples/demo-vps-0.4 build: ⚡ Done in 9ms [15:52:11.216] examples/demo build: .vercel/output/functions/edge.func/index.js 4.9kb [15:52:11.216] examples/demo build: ⚡ Done in 8ms [15:52:11.324] examples/demo-vps-0.4 build: .vercel/output/functions/ssr_.func/index.js 443.8kb [15:52:11.325] examples/demo-vps-0.4 build: ⚡ Done in 148ms [15:52:11.369] examples/demo-vps-0.4 build: .vercel/output/functions/api/page.func/index.js 518b [15:52:11.370] examples/demo-vps-0.4 build: ⚡ Done in 1ms [15:52:11.402] examples/demo-vps-0.4 build: .vercel/output/functions/api/post.func/index.js 518b [15:52:11.402] examples/demo-vps-0.4 build: ⚡ Done in 2ms [15:52:11.423] examples/demo-vps-0.4 build: Page /pages/function: ISR is not supported when using route function. Remove `{ isr }` export or use a route string if possible. [15:52:11.438] examples/demo-vps-0.4 build: ✓ built in 773ms [15:52:11.446] examples/demo-vps-0.4 build: vike v0.4.143 pre-rendering HTML... [15:52:11.456] examples/demo build: .vercel/output/functions/og.func/index.js 438.3kb [15:52:11.457] examples/demo build: ⚡ Done in 130ms [15:52:11.490] examples/demo-vps-0.4 build: ✓ 9 HTML documents pre-rendered. [15:52:11.492] examples/demo-vps-0.4 build: dist/client/catch-all/a/d/index.html [15:52:11.493] examples/demo-vps-0.4 build: dist/client/catch-all/a/b/c/index.html [15:52:11.494] examples/demo-vps-0.4 build: dist/client/catch-all/a/d/index.pageContext.json [15:52:11.495] examples/demo-vps-0.4 build: dist/client/catch-all/a/b/c/index.pageContext.json [15:52:11.496] examples/demo-vps-0.4 build: dist/client/function/a/index.html [15:52:11.497] examples/demo-vps-0.4 build: dist/client/function/a/index.pageContext.json [15:52:11.497] examples/demo-vps-0.4 build: dist/client/named/id-1/index.html [15:52:11.498] examples/demo-vps-0.4 build: dist/client/named/id-1/index.pageContext.json [15:52:11.499] examples/demo-vps-0.4 build: dist/client/index.html [15:52:11.499] examples/demo-vps-0.4 build: dist/client/index.pageContext.json [15:52:11.500] examples/demo-vps-0.4 build: dist/client/named/id-2/index.html [15:52:11.502] examples/demo-vps-0.4 build: dist/client/named/id-2/index.pageContext.json [15:52:11.503] examples/demo-vps-0.4 build: dist/client/isr/index.html [15:52:11.505] examples/demo-vps-0.4 build: dist/client/static/index.html [15:52:11.505] examples/demo-vps-0.4 build: dist/client/isr/index.pageContext.json [15:52:11.505] examples/demo-vps-0.4 build: dist/client/static/index.pageContext.json [15:52:11.506] examples/demo-vps-0.4 build: dist/client/404.html [15:52:11.506] examples/demo-vps-0.4 build: ✓ built in 4.24s [15:52:11.534] examples/demo-vps-0.4 build: Done [15:52:11.592] examples/demo build: .vercel/output/functions/ssr_.func/index.js 443.8kb [15:52:11.592] examples/demo build: ⚡ Done in 103ms [15:52:11.617] examples/demo build: .vercel/output/functions/api/page.func/index.js 603b [15:52:11.617] examples/demo build: ⚡ Done in 1ms [15:52:11.640] examples/demo build: .vercel/output/functions/api/post.func/index.js 518b [15:52:11.640] examples/demo build: ⚡ Done in 1ms [15:52:11.658] examples/demo build: Page /pages/function: ISR is not supported when using route function. Remove `{ isr }` export or use a route string if possible. [15:52:11.670] examples/demo build: ✓ built in 963ms [15:52:11.674] examples/demo build: vike v0.4.143 pre-rendering HTML... [15:52:11.698] examples/demo build: ✓ 9 HTML documents pre-rendered. [15:52:11.700] examples/demo build: dist/client/catch-all/a/d/index.html [15:52:11.701] examples/demo build: dist/client/catch-all/a/b/c/index.pageContext.json [15:52:11.702] examples/demo build: dist/client/catch-all/a/d/index.pageContext.json [15:52:11.702] examples/demo build: dist/client/catch-all/a/b/c/index.html [15:52:11.703] examples/demo build: dist/client/function/a/index.pageContext.json [15:52:11.706] examples/demo build: dist/client/function/a/index.html [15:52:11.707] examples/demo build: dist/client/named/id-1/index.html [15:52:11.707] examples/demo build: dist/client/named/id-1/index.pageContext.json [15:52:11.708] examples/demo build: dist/client/index.html [15:52:11.710] examples/demo build: dist/client/index.pageContext.json [15:52:11.710] examples/demo build: dist/client/named/id-2/index.html [15:52:11.711] examples/demo build: dist/client/named/id-2/index.pageContext.json [15:52:11.711] examples/demo build: dist/client/isr/index.html [15:52:11.712] examples/demo build: dist/client/static/index.html [15:52:11.712] examples/demo build: dist/client/isr/index.pageContext.json [15:52:11.713] examples/demo build: dist/client/static/index.pageContext.json [15:52:11.713] examples/demo build: dist/client/404.html [15:52:11.714] examples/demo build: ✓ built in 4.32s [15:52:11.736] examples/demo build: Done [15:52:11.779] Build Completed in /vercel/output [16s] [15:52:11.896] Deploying outputs... [15:52:23.383] Deployment completed [15:52:32.778] Uploading build cache [70.45 MB]... [15:52:35.100] Build cache uploaded: 2.322s ```
mikestopcontinues commented 10 months ago

I tried just the rename and update to .vc-config.json. But I received the same error from Vercel. Since I can't see the output, it makes me wonder if they rename the file back to .js or some such. I need a stopgap to a service outage, so I need to look elsewhere.

Anyway, thanks for your help.