iframe for PDF

This commit is contained in:
aeris 2024-09-01 22:22:01 +02:00
parent 756e76b9b6
commit c15ab65e34
Signed by: aeris
GPG key ID: AFF4ADC4FE4AE415
15 changed files with 229 additions and 29 deletions

View file

@ -1,4 +1,5 @@
/log/
+ /tmp/restart.txt
/tmp/
/vendor/bundle/
/node_modules/

View file

@ -6,7 +6,7 @@ gem "actionmailer", "~> 7.1"
gem 'sprockets-rails'
gem 'pg', '~> 1.5'
gem 'puma', '>= 5.0'
gem 'importmap-rails'
gem 'jsbundling-rails'
gem 'cssbundling-rails'
gem 'sassc', '~> 2.4'
gem 'dotenv-rails', '~> 3.1'
@ -40,3 +40,7 @@ end
gem 'tzinfo-data', platforms: %i[ mswin mswin64 mingw x64_mingw jruby ]
gem "pdfjs_viewer-rails", "~> 0.3.2"

View file

@ -141,16 +141,15 @@ GEM
multi_xml (>= 0.5.2)
i18n (1.14.5)
concurrent-ruby (~> 1.0)
importmap-rails (2.0.1)
actionpack (>= 6.0.0)
activesupport (>= 6.0.0)
railties (>= 6.0.0)
invisible_captcha (2.3.0)
rails (>= 5.2)
io-console (0.7.2)
irb (1.14.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
jsbundling-rails (1.3.1)
railties (>= 6.0.0)
json (2.7.2)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
@ -188,6 +187,10 @@ GEM
racc (~> 1.4)
nokogiri (1.16.7-x86_64-linux)
racc (~> 1.4)
pdfjs_viewer-rails (0.3.2)
json (> 1.8.4)
rails (> 4.2.0)
sassc-rails (>= 2.1)
pg (1.5.7)
pry (0.14.2)
coderay (~> 1.1)
@ -253,6 +256,12 @@ GEM
rubyzip (2.3.2)
sassc (2.4.0)
ffi (~> 1.9)
sassc-rails (2.1.2)
railties (>= 4.0.0)
sassc (>= 2.0)
sprockets (> 3.0)
sprockets-rails
tilt
selenium-webdriver (4.24.0)
base64 (~> 0.2)
logger (~> 1.4)
@ -269,6 +278,7 @@ GEM
stringio (3.1.1)
strscan (3.1.0)
thor (1.3.2)
tilt (2.4.0)
timeout (0.4.1)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
@ -303,8 +313,9 @@ DEPENDENCIES
dotenv-rails (~> 3.1)
error_highlight (>= 0.4.0)
httparty (~> 0.22.0)
importmap-rails
invisible_captcha (~> 2.3)
jsbundling-rails
pdfjs_viewer-rails (~> 0.3.2)
pg (~> 1.5)
pry-byebug
puma (>= 5.0)

View file

@ -1,2 +1,3 @@
web: env RUBY_DEBUG_OPEN=true bin/rails server
css: yarn watch:css
js: yarn build --watch

View file

@ -43,10 +43,18 @@ div.progress {
font-size: 75%;
}
div.letters.show {
& object, & iframe {
width: 100%;
height: 100%;
}
}
@media screen and (max-width: 1024px) {
div.letters.show {
& > embed {
height: 400px;
& object, & iframe {
height: 600px;
max-width: 100%;
}
}
}

View file

@ -1 +1 @@
import * as bootstrap from "bootstrap"
import * as bootstrap from 'bootstrap'

View file

@ -4,8 +4,8 @@
<title>Association PURR :: Nos démarches</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<%= csrf_meta_tags %>
<%= stylesheet_link_tag "application" %>
<%= javascript_importmap_tags %>
<%= stylesheet_link_tag :application %>
<%= javascript_include_tag :application, type: :module, defer: true %>
</head>
<body class="vh-100 d-flex flex-column">
@ -15,7 +15,9 @@
</main>
<footer class="p-2 text-end">
<%= link_to 'Mentions légales', legal_path, class: %i[link-primary] %>
<%= link_to 'Code source', 'https://git.asso-purr.eu.org/purr/demarches', class: %i[link-primary ms-3] %>
<span class="ms-1">(Licence AGPLv3)</span>
<%= link_to 'Mentions légales', legal_path, class: %i[link-primary ms-3] %>
</footer>
</body>

View file

@ -1,8 +1,17 @@
<h1><%= @letter.title %></h1>
<div class="<%= controller_name %> <%= action_name %> flex-grow-1 d-flex flex-column flex-lg-row p-2">
<embed id="pdf" class="flex-grow-1 p-2"
src="<%= url_for @letter.pdf %>"
type="<%= @letter.pdf.attachment.blob.content_type %>"/>
<%#= content_tag :object, id: :pdf, class: %i[flex-grow-1 p-2],
type: @letter.pdf.attachment.blob.content_type do %>
<%# tag :embed, src: url_for(@letter.pdf) %>
<%# end %>
<%#= content_tag :embed, nil, id: :pdf, class: %i[flex-grow-1 p-2],
src: url_for(@letter.pdf),
type: @letter.pdf.attachment.blob.content_type %>
<% url = polymorphic_url @letter.pdf, anchor: 'view=Fit&toolbar=0' %>
<%#= content_tag :object, class: %i[flex-grow-1 p-2], data: url,
type: @letter.pdf.attachment.blob.content_type do %>
<%= content_tag :iframe, nil, src: url %>
<%# end %>
<form method="post" class="p-5">
<h2 class="text-center">Signez la lettre ouverte</h2>
@ -20,13 +29,13 @@
<div class="form-group row mt-3">
<label for="name" class="col-sm-2 col-form-label mt-2 p-2">Nom :</label>
<div class="col-sm-10">
<input id="name" name="name" class="form-control" required>
<input id="name" name="name" class="form-control" placeholder="Prénom Nom idéalement, pseudonyme…" required>
</div>
</div>
<div class="form-group row">
<label for="quality" class="col-sm-2 col-form-label mt-2 p-2">Qualité :</label>
<div class="col-sm-10">
<input id="quality" name="quality" class="form-control" placeholder="" required>
<input id="quality" name="quality" class="form-control" placeholder="Citoyen, DPO, personne concernée, chercheur…" required>
</div>
</div>
<div class="form-group row">
@ -34,7 +43,8 @@
<div class="col-sm-10">
<input id="email" name="email" type="email" class="form-control" required>
</div>
<p class="text-small">(GMail refusant daccepter nos emails, une adresse email autre est donc préférable !)</p>
<p class="text-small">(GMail refusant daccepter nos emails, une adresse email autre est donc
préférable !)</p>
</div>
<%= invisible_captcha :surname, nil, nonce: true %>
<%= hidden_field_tag :authenticity_token, form_authenticity_token %>
@ -46,7 +56,10 @@
<a href="https://asso-purr.eu.org/conformite:registre#bkmrk-signature-des-lettre">
notre registre de traitement
</a>.<br/>
À lissue de la procédure, nous conserverons, au titre de notre intérêt légitime, <a href="https://fr.wikipedia.org/wiki/User_agent" target="_blank">votre user-agent</a> et <a href="https://fr.wikipedia.org/wiki/Adresse_IP" target="_blank">votre adresse IP</a>, à des fins de preuve de votre signature et de dédoublonnage.
À lissue de la procédure, nous conserverons, au titre de notre intérêt légitime,
<a href="https://fr.wikipedia.org/wiki/User_agent" target="_blank">votre user-agent</a> et
<a href="https://fr.wikipedia.org/wiki/Adresse_IP" target="_blank">votre adresse IP</a>, à des fins de
preuve de votre signature et de dédoublonnage.
</p>
<p>
Votre nom et qualité sont nécessaires pour identifier le signataire

View file

@ -5,3 +5,8 @@ Merci de cliquer sur le lien suivant pour confirmer votre signature :
<%= signatory_url @signatory, token: @signatory.token %>
Merci pour votre confiance et votre soutien !
Si vous nêtes pas à lorigine de cette demande, vous pouvez ignorer ce mail.
Vos données seront automatiquement supprimées passées 15 jours sans validation de votre part.
Si vous souhaitez les supprimer immédiatement, vous pouvez cliquer sur le lien suivant :
<%= cancel_signatory_url @signatory, token: @signatory.token %>

View file

@ -8,4 +8,4 @@ fi
# Default to port 3000 if not specified
export PORT="${PORT:-3000}"
exec foreman start -f Procfile.dev "$@"
exec foreman start -f Procfile.dev --env /dev/null "$@"

View file

@ -4,13 +4,14 @@ Rails.application.configure do
policy.font_src :self
policy.img_src :self
policy.object_src :self
policy.script_src :self
policy.style_src :self
policy.frame_src :self
policy.script_src :self, :unsafe_inline, :unsafe_eval
policy.style_src :self, :unsafe_inline
policy.frame_src :self, :data
policy.connect_src :self
if Rails.env.development?
policy.connect_src :self # LiveReload
end
# if Rails.env.development?
# policy.connect_src :self # LiveReload
# end
end
# Generate session nonces for permitted importmap, inline scripts, and inline styles.

View file

@ -15,10 +15,14 @@
"build:css:compile": "sass ./app/assets/stylesheets/application.scss:./app/assets/builds/application.css --no-source-map --load-path=node_modules",
"build:css:prefix": "postcss ./app/assets/builds/application.css --use=autoprefixer --output=./app/assets/builds/application.css",
"build:css": "yarn build:css:compile && yarn build:css:prefix",
"watch:css": "nodemon --watch ./app/assets/stylesheets/ --ext scss --exec \"yarn build:css\""
"watch:css": "nodemon --watch ./app/assets/stylesheets/ --ext scss --exec \"yarn build:css\"",
"build": "esbuild app/javascript/*.* --bundle --sourcemap --format=esm --outdir=app/assets/builds --public-path=/assets"
},
"browserslist": [
"defaults"
],
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e",
"devDependencies": {
"esbuild": "^0.23.1"
}
}

150
yarn.lock
View file

@ -2,6 +2,126 @@
# yarn lockfile v1
"@esbuild/aix-ppc64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz#51299374de171dbd80bb7d838e1cfce9af36f353"
integrity sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==
"@esbuild/android-arm64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz#58565291a1fe548638adb9c584237449e5e14018"
integrity sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==
"@esbuild/android-arm@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.23.1.tgz#5eb8c652d4c82a2421e3395b808e6d9c42c862ee"
integrity sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==
"@esbuild/android-x64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.23.1.tgz#ae19d665d2f06f0f48a6ac9a224b3f672e65d517"
integrity sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==
"@esbuild/darwin-arm64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz#05b17f91a87e557b468a9c75e9d85ab10c121b16"
integrity sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==
"@esbuild/darwin-x64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz#c58353b982f4e04f0d022284b8ba2733f5ff0931"
integrity sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==
"@esbuild/freebsd-arm64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz#f9220dc65f80f03635e1ef96cfad5da1f446f3bc"
integrity sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==
"@esbuild/freebsd-x64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz#69bd8511fa013b59f0226d1609ac43f7ce489730"
integrity sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==
"@esbuild/linux-arm64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz#8050af6d51ddb388c75653ef9871f5ccd8f12383"
integrity sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==
"@esbuild/linux-arm@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz#ecaabd1c23b701070484990db9a82f382f99e771"
integrity sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==
"@esbuild/linux-ia32@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz#3ed2273214178109741c09bd0687098a0243b333"
integrity sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==
"@esbuild/linux-loong64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz#a0fdf440b5485c81b0fbb316b08933d217f5d3ac"
integrity sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==
"@esbuild/linux-mips64el@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz#e11a2806346db8375b18f5e104c5a9d4e81807f6"
integrity sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==
"@esbuild/linux-ppc64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz#06a2744c5eaf562b1a90937855b4d6cf7c75ec96"
integrity sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==
"@esbuild/linux-riscv64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz#65b46a2892fc0d1af4ba342af3fe0fa4a8fe08e7"
integrity sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==
"@esbuild/linux-s390x@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz#e71ea18c70c3f604e241d16e4e5ab193a9785d6f"
integrity sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==
"@esbuild/linux-x64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz#d47f97391e80690d4dfe811a2e7d6927ad9eed24"
integrity sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==
"@esbuild/netbsd-x64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz#44e743c9778d57a8ace4b72f3c6b839a3b74a653"
integrity sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==
"@esbuild/openbsd-arm64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz#05c5a1faf67b9881834758c69f3e51b7dee015d7"
integrity sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==
"@esbuild/openbsd-x64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz#2e58ae511bacf67d19f9f2dcd9e8c5a93f00c273"
integrity sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==
"@esbuild/sunos-x64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz#adb022b959d18d3389ac70769cef5a03d3abd403"
integrity sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==
"@esbuild/win32-arm64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz#84906f50c212b72ec360f48461d43202f4c8b9a2"
integrity sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==
"@esbuild/win32-ia32@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz#5e3eacc515820ff729e90d0cb463183128e82fac"
integrity sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==
"@esbuild/win32-x64@0.23.1":
version "0.23.1"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz#81fd50d11e2c32b2d6241470e3185b70c7b30699"
integrity sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
@ -178,6 +298,36 @@ emoji-regex@^8.0.0:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
esbuild@^0.23.1:
version "0.23.1"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.23.1.tgz#40fdc3f9265ec0beae6f59824ade1bd3d3d2dab8"
integrity sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==
optionalDependencies:
"@esbuild/aix-ppc64" "0.23.1"
"@esbuild/android-arm" "0.23.1"
"@esbuild/android-arm64" "0.23.1"
"@esbuild/android-x64" "0.23.1"
"@esbuild/darwin-arm64" "0.23.1"
"@esbuild/darwin-x64" "0.23.1"
"@esbuild/freebsd-arm64" "0.23.1"
"@esbuild/freebsd-x64" "0.23.1"
"@esbuild/linux-arm" "0.23.1"
"@esbuild/linux-arm64" "0.23.1"
"@esbuild/linux-ia32" "0.23.1"
"@esbuild/linux-loong64" "0.23.1"
"@esbuild/linux-mips64el" "0.23.1"
"@esbuild/linux-ppc64" "0.23.1"
"@esbuild/linux-riscv64" "0.23.1"
"@esbuild/linux-s390x" "0.23.1"
"@esbuild/linux-x64" "0.23.1"
"@esbuild/netbsd-x64" "0.23.1"
"@esbuild/openbsd-arm64" "0.23.1"
"@esbuild/openbsd-x64" "0.23.1"
"@esbuild/sunos-x64" "0.23.1"
"@esbuild/win32-arm64" "0.23.1"
"@esbuild/win32-ia32" "0.23.1"
"@esbuild/win32-x64" "0.23.1"
escalade@^3.1.1, escalade@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27"