The vegalite_app artifact https://github.com/queryverse/VegaLiteBuilder/releases/download/v3.4.1/vegaliteassets-3.4.1-x86_64-w64-mingw32.tar.gz contains the following symlinks:
"node_modules/.bin/color-support" => "../color-support/bin.js"
"node_modules/.bin/csv2json" => "../d3-dsv/bin/dsv2json.js"
"node_modules/.bin/csv2tsv" => "../d3-dsv/bin/dsv2dsv.js"
"node_modules/.bin/dsv2dsv" => "../d3-dsv/bin/dsv2dsv.js"
"node_modules/.bin/dsv2json" => "../d3-dsv/bin/dsv2json.js"
"node_modules/.bin/geo2svg" => "../d3-geo-projection/bin/geo2svg.js"
"node_modules/.bin/geograticule" => "../d3-geo-projection/bin/geograticule.js"
"node_modules/.bin/geoproject" => "../d3-geo-projection/bin/geoproject.js"
"node_modules/.bin/geoquantize" => "../d3-geo-projection/bin/geoquantize.js"
"node_modules/.bin/geostitch" => "../d3-geo-projection/bin/geostitch.js"
"node_modules/.bin/json2csv" => "../d3-dsv/bin/json2dsv.js"
"node_modules/.bin/json2dsv" => "../d3-dsv/bin/json2dsv.js"
"node_modules/.bin/json2tsv" => "../d3-dsv/bin/json2dsv.js"
"node_modules/.bin/mkdirp" => "../mkdirp/bin/cmd.js"
"node_modules/.bin/node-pre-gyp" => "../@mapbox/node-pre-gyp/bin/node-pre-gyp"
"node_modules/.bin/nopt" => "../nopt/bin/nopt.js"
"node_modules/.bin/rimraf" => "../rimraf/bin.js"
"node_modules/.bin/semver" => "../semver/bin/semver.js"
"node_modules/.bin/topo2geo" => "../topojson-client/bin/topo2geo"
"node_modules/.bin/topomerge" => "../topojson-client/bin/topomerge"
"node_modules/.bin/topoquantize" => "../topojson-client/bin/topoquantize"
"node_modules/.bin/tsv2csv" => "../d3-dsv/bin/dsv2dsv.js"
"node_modules/.bin/tsv2json" => "../d3-dsv/bin/dsv2json.js"
"node_modules/.bin/vg2pdf" => "../vega-cli/bin/vg2pdf"
"node_modules/.bin/vg2png" => "../vega-cli/bin/vg2png"
"node_modules/.bin/vg2svg" => "../vega-cli/bin/vg2svg"
"node_modules/.bin/vl2pdf" => "../vega-lite/bin/vl2pdf"
"node_modules/.bin/vl2png" => "../vega-lite/bin/vl2png"
"node_modules/.bin/vl2svg" => "../vega-lite/bin/vl2svg"
"node_modules/.bin/vl2vg" => "../vega-lite/bin/vl2vg"
"node_modules/make-dir/node_modules/.bin/semver" => "../semver/bin/semver.js"
"node_modules/vega-embed/node_modules/.bin/semver" => "../semver/bin/semver.js"
Details
julia> using Tar: Tar
julia> using Pkg: Pkg, PlatformEngines
julia> using Downloads: download
julia> function tar_get_symlinks(tarball_path::AbstractString)
symlinks_output = Pair{String,String}[]
Tar.list(`$(PlatformEngines.exe7z()) x $tarball_path -so`) do header::Tar.Header
if (header.type == :symlink)
push!(symlinks_output, header.path=>header.link)
end
nothing
end
symlinks_output
end
tar_get_symlinks (generic function with 1 method)
julia> url = "https://github.com/queryverse/VegaLiteBuilder/releases/download/v3.4.1/vegaliteassets-3.4.1-x86_64-w64-mingw32.tar.gz";
julia> tar_get_symlinks(download(url))
These are created when npm prune is called in the build script, though I'm not sure why.
This prevents Vega and VegaLite from being installed on Windows in Julia 1.10 due to stricter artifact integrity checking.
Ref: #1 JuliaLang/Pkg.jl#3643
The
vegalite_appartifact https://github.com/queryverse/VegaLiteBuilder/releases/download/v3.4.1/vegaliteassets-3.4.1-x86_64-w64-mingw32.tar.gz contains the following symlinks:Details
These are created when
npm pruneis called in the build script, though I'm not sure why.This prevents
VegaandVegaLitefrom being installed on Windows in Julia 1.10 due to stricter artifact integrity checking.Ref: #1 JuliaLang/Pkg.jl#3643