Greater-London-Authority / ldn-viz-tools

https://greater-london-authority.github.io/ldn-viz-tools/
1 stars 0 forks source link

Missing html2canvas dependency used in ImageDownloadButton.svelte #203

Closed PaulioRandall closed 2 months ago

PaulioRandall commented 8 months ago

Describe the bug

@ldn-viz/ui is missing html2canvas dependency from package.json dependencies or devDependencies. The dependency is used in the ImageDownloadButton component.

Current workaround

Add to your project package.json:

{
  "dependencies": {
    "html2canvas": "1.4.1"
  }
}

To Reproduce

  1. Install @ldn-viz/ui: 3.2.0
  2. Use a component in your project
  3. Run vite build

Build Error Output

vite v5.0.12 building SSR bundle for production...
transforming...
✓ 78 modules transformed.
[vite]: Rollup failed to resolve import "html2canvas" from "C:/Users/PWilliams/Projects/Call_for_Sites/app-call-for-planning-sites/node_modules/@ldn-viz/ui/dist/imageDownloadButton/ImageDownloadButton.svelte".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`
error during build:
Error: [vite]: Rollup failed to resolve import "html2canvas" from "C:/Users/PWilliams/Projects/Call_for_Sites/app-call-for-planning-sites/node_modules/@ldn-viz/ui/dist/imageDownloadButton/ImageDownloadButton.svelte".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`
    at viteWarn (file:///C:/Users/PWilliams/Projects/Call_for_Sites/app-call-for-planning-sites/node_modules/vite/dist/node/chunks/dep-9A4-l-43.js:67319:27)
    at onRollupWarning (file:///C:/Users/PWilliams/Projects/Call_for_Sites/app-call-for-planning-sites/node_modules/vite/dist/node/chunks/dep-9A4-l-43.js:67347:9)
    at onwarn (file:///C:/Users/PWilliams/Projects/Call_for_Sites/app-call-for-planning-sites/node_modules/vite/dist/node/chunks/dep-9A4-l-43.js:67064:13)
    at file:///C:/Users/PWilliams/Projects/Call_for_Sites/app-call-for-planning-sites/node_modules/rollup/dist/es/shared/node-entry.js:17420:13
    at Object.logger [as onLog] (file:///C:/Users/PWilliams/Projects/Call_for_Sites/app-call-for-planning-sites/node_modules/rollup/dist/es/shared/node-entry.js:19078:9)
    at ModuleLoader.handleInvalidResolvedId (file:///C:/Users/PWilliams/Projects/Call_for_Sites/app-call-for-planning-sites/node_modules/rollup/dist/es/shared/node-entry.js:18024:26)
    at file:///C:/Users/PWilliams/Projects/Call_for_Sites/app-call-for-planning-sites/node_modules/rollup/dist/es/shared/node-entry.js:17982:26