[ 
https://issues.apache.org/jira/browse/ARROW-12734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17417723#comment-17417723
 ] 

Jeffrey Heer commented on ARROW-12734:
--------------------------------------

Unfortunately, Snowpack builds are still broken as of Apache Arrow v5. If I 
update my HTML snippet above to use 5.0.0 instead of 4.0.0, I see the following 
error in the browser console:

node:string_decoder?from=apache-arrow:14 Uncaught Error: [Package Error] 
"string_decoder" does not exist. (Imported by "apache-arrow").
 at node:string_decoder?from=apache-arrow:14

I haven't dug deeper, but the "node:" prefix above suggests that perhaps 
server-side imports may be improperly included in a browser bundle?

> [JS] Arrow v4.0.0 breaks Snowpack builds
> ----------------------------------------
>
>                 Key: ARROW-12734
>                 URL: https://issues.apache.org/jira/browse/ARROW-12734
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: JavaScript
>    Affects Versions: 4.0.0
>            Reporter: Jeffrey Heer
>            Priority: Major
>
> Snowpack builds break as of Apache Arrow v4.0.0, with the following error:
> ReferenceError: Cannot access 'Buffer' before initialization
>  at eval (eval at <anonymous> 
> ([https://cdn.skypack.dev/-/[email protected]/dist=es2020,mode=imports/optimized/apache-arrow.js:6:17]),
>  <anonymous>:1:1)
>  at 
> [https://cdn.skypack.dev/-/[email protected]/dist=es2020,mode=imports/optimized/apache-arrow.js:6:17]
> I believe this also breaks other bundlers that use hot module replacement, 
> such as Vite ([https://github.com/vitejs/vite).]
> This appears to be caused by the following line of exported code, which makes 
> potentially problematic use of "eval":  
> {{const _Buffer = eval("typeof Buffer === 'function' ? Buffer : null");}}
> Note that Arrow version 3 works without incident. This error was reported by 
> a user of the Arquero library 
> ([https://github.com/uwdata/arquero/issues/166)] as it is breaking their 
> build.
> To reproduce, load the following HTML:
>  
>  {{<!DOCTYPE html>}}
>  {{<html lang="en">}}
>  {{  <body>}}
>  {{    <script type="module">}}
>  {{      import * as Arrow from 
> "https://cdn.skypack.dev/[email protected]";}}
>  {{      console.log(Arrow);}}
>  {{    </script>}}
>  {{  </body>}}
>  {{</html>}}
>   



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to