From c15ab65e3457c2a5616807e6844e3a41151983ee Mon Sep 17 00:00:00 2001 From: aeris Date: Sun, 1 Sep 2024 22:22:01 +0200 Subject: [PATCH] iframe for PDF --- .rsync-exclude | 1 + Gemfile | 6 +- Gemfile.lock | 21 ++- Procfile.dev | 1 + app/assets/stylesheets/application.scss | 12 +- app/javascript/application.js | 2 +- app/javascript/controllers/application.js | 0 app/javascript/controllers/index.js | 0 app/views/layouts/application.html.erb | 8 +- app/views/letters/show.html.erb | 29 +++- app/views/signatory_mailer/sign.text.erb | 5 + bin/dev | 2 +- .../initializers/content_security_policy.rb | 13 +- package.json | 8 +- yarn.lock | 150 ++++++++++++++++++ 15 files changed, 229 insertions(+), 29 deletions(-) delete mode 100644 app/javascript/controllers/application.js delete mode 100644 app/javascript/controllers/index.js diff --git a/.rsync-exclude b/.rsync-exclude index 0a8c30b..344ac06 100644 --- a/.rsync-exclude +++ b/.rsync-exclude @@ -1,4 +1,5 @@ /log/ ++ /tmp/restart.txt /tmp/ /vendor/bundle/ /node_modules/ diff --git a/Gemfile b/Gemfile index 2c795eb..86c6872 100644 --- a/Gemfile +++ b/Gemfile @@ -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" diff --git a/Gemfile.lock b/Gemfile.lock index 1ca9deb..6910f22 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -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) diff --git a/Procfile.dev b/Procfile.dev index 18f64d2..6e11fb6 100644 --- a/Procfile.dev +++ b/Procfile.dev @@ -1,2 +1,3 @@ web: env RUBY_DEBUG_OPEN=true bin/rails server css: yarn watch:css +js: yarn build --watch diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index 099033f..f4d8295 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -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%; } } } diff --git a/app/javascript/application.js b/app/javascript/application.js index 9cce588..786b2ec 100644 --- a/app/javascript/application.js +++ b/app/javascript/application.js @@ -1 +1 @@ -import * as bootstrap from "bootstrap" +import * as bootstrap from 'bootstrap' diff --git a/app/javascript/controllers/application.js b/app/javascript/controllers/application.js deleted file mode 100644 index e69de29..0000000 diff --git a/app/javascript/controllers/index.js b/app/javascript/controllers/index.js deleted file mode 100644 index e69de29..0000000 diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 695686e..9af93ff 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -4,8 +4,8 @@ Association PURR :: Nos démarches <%= csrf_meta_tags %> - <%= stylesheet_link_tag "application" %> - <%= javascript_importmap_tags %> + <%= stylesheet_link_tag :application %> + <%= javascript_include_tag :application, type: :module, defer: true %> @@ -15,7 +15,9 @@ diff --git a/app/views/letters/show.html.erb b/app/views/letters/show.html.erb index d2a7886..ac8e86c 100644 --- a/app/views/letters/show.html.erb +++ b/app/views/letters/show.html.erb @@ -1,14 +1,23 @@

<%= @letter.title %>

- + <%#= 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 %>

Signez la lettre ouverte

<% target, current = @letter.target, @letter.current_signatories - style, _ = ((current / target.to_f)*100).divmod 5 + style, _ = ((current / target.to_f) * 100).divmod 5 style = [style, 20].min %> <%= content_tag :div, class: %i[progress mt-3], role: :progressbar, aria: { valuenow: target, valuemin: 0, valuemax: target } do %> @@ -20,13 +29,13 @@
- +
- +
@@ -34,7 +43,8 @@
-

(GMail refusant d’accepter nos emails, une adresse email autre est donc préférable !)

+

(GMail refusant d’accepter nos emails, une adresse email autre est donc + préférable !)

<%= invisible_captcha :surname, nil, nonce: true %> <%= hidden_field_tag :authenticity_token, form_authenticity_token %> @@ -46,7 +56,10 @@ notre registre de traitement .
- À l’issue de la procédure, nous conserverons, au titre de notre intérêt légitime, votre user-agent et votre adresse IP, à des fins de preuve de votre signature et de dédoublonnage. + À l’issue de la procédure, nous conserverons, au titre de notre intérêt légitime, + votre user-agent et + votre adresse IP, à des fins de + preuve de votre signature et de dédoublonnage.

Votre nom et qualité sont nécessaires pour identifier le signataire diff --git a/app/views/signatory_mailer/sign.text.erb b/app/views/signatory_mailer/sign.text.erb index eb9ff1b..365c4fe 100644 --- a/app/views/signatory_mailer/sign.text.erb +++ b/app/views/signatory_mailer/sign.text.erb @@ -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 à l’origine 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 %> diff --git a/bin/dev b/bin/dev index eda330c..d80a02d 100755 --- a/bin/dev +++ b/bin/dev @@ -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 "$@" diff --git a/config/initializers/content_security_policy.rb b/config/initializers/content_security_policy.rb index 281d1bd..7198257 100644 --- a/config/initializers/content_security_policy.rb +++ b/config/initializers/content_security_policy.rb @@ -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. diff --git a/package.json b/package.json index 893c882..3ec4f34 100644 --- a/package.json +++ b/package.json @@ -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" + } } diff --git a/yarn.lock b/yarn.lock index ec80ea6..5132991 100644 --- a/yarn.lock +++ b/yarn.lock @@ -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"