From 74133c9ae372ba18dedc4e94e892456b9bf48509 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Sun, 18 Sep 2022 11:00:39 +1000 Subject: [PATCH] v2.0.0 --- .all-contributorsrc | 31 +- .github/stale.yml | 2 +- .github/workflows/generate-sponsor-image.yml | 33 + .github/workflows/label-sponsors.yml | 14 + .github/workflows/release.yml | 2 +- .gitignore | 2 + README.ja.md | 122 +- README.md | 185 +- README.zh-Hans.md | 189 +- scripts/sponsors/generate-sponsor-image.sh | 3 + scripts/sponsors/package-lock.json | 3606 +++++++++++++++++ scripts/sponsors/package.json | 15 + scripts/sponsors/sponsorkit.config.js | 206 + v2/NOTES.md | 40 - v2/README.md | 238 +- .../commands/initialise/initialise.go | 81 +- v2/cmd/wails/internal/version.txt | 2 +- .../frontend/desktop/windows/win32/theme.go | 23 +- .../frontend/desktop/windows/window.go | 5 +- v2/pkg/options/windows/windows.go | 14 +- v2/tools/release/release.go | 2 + website/.prettierrc | 22 - website/README.md | 48 +- website/babel.config.js | 2 +- .../2021-09-27-v2-beta1-release-notes.mdx | 2 +- website/blog/2022-09-22-v2-release-notes.mdx | 97 + website/docs/gettingstarted/development.mdx | 2 +- website/docs/gettingstarted/installation.mdx | 2 +- website/docs/guides/obfuscated.mdx | 2 +- website/docs/howdoesitwork.mdx | 2 +- website/docs/introduction.mdx | 7 +- website/docs/reference/cli.mdx | 6 +- website/docs/reference/options.mdx | 45 +- website/docusaurus.config.js | 11 +- website/i18n/en/code.json | 2 +- .../version-v2.0.0-beta.44.json | 38 - .../version-v2.0.0.json | 38 + .../en/docusaurus-theme-classic/footer.json | 2 +- website/i18n/ja/code.json | 2 +- .../2021-09-27-v2-beta1-release-notes.mdx | 20 +- .../2021-11-08-v2-beta2-release-notes.mdx | 21 +- .../2022-02-22-v2-beta3-release-notes.mdx | 14 +- .../2022-09-18-v2-release-notes.mdx | 99 + .../current/community/showcase/emailit.mdx | 2 + .../community/showcase/encrypteasy.mdx | 2 + .../current/community/showcase/filehound.mdx | 2 + .../community/showcase/minecraftupdater.mdx | 6 +- .../community/showcase/modalfilemanager.mdx | 2 + .../community/showcase/mollywallet.mdx | 2 + .../current/community/showcase/october.mdx | 2 + .../current/community/showcase/optimus.mdx | 2 + .../current/community/showcase/portfall.mdx | 2 + .../community/showcase/restic-browser.mdx | 2 + .../current/community/showcase/riftshare.mdx | 2 + .../current/community/showcase/scriptbar.mdx | 2 + .../current/community/showcase/surge.mdx | 2 + .../current/community/showcase/wally.mdx | 2 + .../current/community/showcase/wombat.mdx | 2 + .../current/community/showcase/ytd.mdx | 2 + .../current/community/templates.mdx | 4 +- .../current/gettingstarted/building.mdx | 3 +- .../current/gettingstarted/development.mdx | 2 +- .../current/gettingstarted/firstproject.mdx | 36 +- .../current/gettingstarted/installation.mdx | 31 +- .../current/guides/dynamic-assets.mdx | 12 +- .../current/guides/frameless.mdx | 23 +- .../current/guides/ides.mdx | 3 + .../current/guides/linux-distro-support.mdx | 3 + .../current/guides/obfuscated.mdx | 42 + .../current/guides/overscroll.mdx | 4 +- .../current/guides/templates.mdx | 2 + .../current/guides/troubleshooting.mdx | 41 +- .../current/guides/windows-installer.mdx | 4 +- .../current/howdoesitwork.mdx | 10 +- .../current/introduction.mdx | 12 +- .../current/reference/cli.mdx | 12 +- .../current/reference/menus.mdx | 70 +- .../current/reference/options.mdx | 261 +- .../current/reference/project-config.mdx | 8 +- .../current/reference/runtime/browser.mdx | 1 - .../current/reference/runtime/dialog.mdx | 31 +- .../current/reference/runtime/events.mdx | 3 +- .../current/reference/runtime/intro.mdx | 29 +- .../current/reference/runtime/menu.mdx | 6 +- .../current/reference/runtime/window.mdx | 16 +- .../current/tutorials/dogsapi.mdx | 22 +- .../current/tutorials/helloworld.mdx | 12 +- .../version-v2.0.0-beta.44.json | 38 - .../version-v2.0.0-rc.1/introduction.mdx | 2 +- .../version-v2.0.0.json | 38 + .../version-v2.0.0}/appendix/_category_.json | 0 .../version-v2.0.0}/community/_category_.json | 0 .../version-v2.0.0}/community/links.mdx | 0 .../community/showcase/_category_.json | 0 .../community/showcase/emailit.mdx | 2 + .../community/showcase/encrypteasy.mdx | 2 + .../community/showcase/filehound.mdx | 2 + .../community/showcase/minecraftupdater.mdx | 6 +- .../community/showcase/modalfilemanager.mdx | 2 + .../community/showcase/mollywallet.mdx | 2 + .../community/showcase/october.mdx | 2 + .../community/showcase/optimus.mdx | 2 + .../community/showcase/portfall.mdx | 2 + .../community/showcase/restic-browser.mdx | 2 + .../community/showcase/riftshare.mdx | 2 + .../community/showcase/scriptbar.mdx | 2 + .../community/showcase/surge.mdx | 2 + .../community/showcase/wally.mdx | 2 + .../community/showcase/wombat.mdx | 2 + .../community/showcase/ytd.mdx | 2 + .../version-v2.0.0}/community/templates.mdx | 4 +- .../gettingstarted/_category_.json | 0 .../gettingstarted/building.mdx | 3 +- .../gettingstarted/development.mdx | 2 +- .../gettingstarted/firstproject.mdx | 20 +- .../gettingstarted/installation.mdx | 31 +- .../version-v2.0.0}/guides/_category_.json | 0 .../guides/application-development.mdx | 0 .../version-v2.0.0}/guides/bleeding-edge.mdx | 0 .../version-v2.0.0}/guides/dynamic-assets.mdx | 12 +- .../version-v2.0.0}/guides/frameless.mdx | 21 +- .../version-v2.0.0}/guides/frontend.mdx | 0 .../version-v2.0.0}/guides/ides.mdx | 3 + .../guides/linux-distro-support.mdx | 3 + .../version-v2.0.0}/guides/linux.mdx | 0 .../version-v2.0.0}/guides/manual-builds.mdx | 0 .../version-v2.0.0}/guides/migrating.mdx | 2 - .../version-v2.0.0}/guides/mouse-buttons.mdx | 0 .../version-v2.0.0/guides/obfuscated.mdx | 42 + .../version-v2.0.0}/guides/overscroll.mdx | 4 +- .../version-v2.0.0}/guides/routing.mdx | 0 .../version-v2.0.0}/guides/signing.mdx | 72 +- .../version-v2.0.0}/guides/templates.mdx | 2 + .../guides/troubleshooting.mdx | 12 +- .../version-v2.0.0}/guides/vscode.mdx | 0 .../guides/windows-installer.mdx | 4 +- .../version-v2.0.0}/guides/windows.mdx | 0 .../version-v2.0.0}/howdoesitwork.mdx | 14 +- .../version-v2.0.0}/introduction.mdx | 24 +- .../version-v2.0.0}/reference/_category_.json | 0 .../version-v2.0.0}/reference/cli.mdx | 12 +- .../version-v2.0.0}/reference/menus.mdx | 70 +- .../version-v2.0.0}/reference/options.mdx | 263 +- .../reference/project-config.mdx | 8 +- .../reference/runtime/_category_.json | 0 .../reference/runtime/browser.mdx | 1 - .../reference/runtime/dialog.mdx | 29 +- .../reference/runtime/events.mdx | 3 +- .../reference/runtime/intro.mdx | 29 +- .../version-v2.0.0}/reference/runtime/log.mdx | 0 .../reference/runtime/menu.mdx | 6 +- .../reference/runtime/window.mdx | 16 +- .../version-v2.0.0}/tutorials/_category_.json | 0 .../version-v2.0.0}/tutorials/dogsapi.mdx | 22 +- .../version-v2.0.0}/tutorials/helloworld.mdx | 12 +- .../changelog.mdx | 465 ++- .../docusaurus-plugin-content-pages/coc.mdx | 77 + .../community-guide.mdx | 34 +- .../credits.mdx | 118 +- .../docusaurus-plugin-content-pages/faq.mdx | 2 +- .../ja/docusaurus-theme-classic/footer.json | 8 +- .../ja/docusaurus-theme-classic/navbar.json | 8 +- website/i18n/ko/code.json | 466 +-- .../2021-09-27-v2-beta1-release-notes.mdx | 155 - .../2021-11-08-v2-beta2-release-notes.mdx | 163 - .../2022-02-22-v2-beta3-release-notes.mdx | 110 - .../authors.yml | 10 - .../options.json | 6 +- .../current.json | 2 +- .../current/contributing/_category_.json | 4 - .../contributing/developing-new-features.mdx | 29 - .../current/contributing/documenting.mdx | 34 - .../current/contributing/fixing-bugs.mdx | 27 - .../current/contributing/helping-others.mdx | 13 - .../setting-up-a-dev-environment.mdx | 30 - .../current/contributing/testing.mdx | 16 - .../contributing/ways-of-contributing.mdx | 18 - .../current/gettingstarted/building.mdx | 21 - .../current/gettingstarted/development.mdx | 16 - .../current/gettingstarted/firstproject.mdx | 132 - .../current/gettingstarted/installation.mdx | 95 - .../current/guides/linux-distro-support.mdx | 101 - .../current/guides/overscroll.mdx | 10 - .../current/guides/windows-installer.mdx | 56 - .../current/howdoesitwork.mdx | 355 -- .../current/reference/menus.mdx | 261 -- .../version-v2.0.0-beta.44.json | 38 - .../version-v2.0.0-rc.1/introduction.mdx | 2 +- .../version-v2.0.0.json | 38 + .../community-guide.mdx | 142 - .../contributing/developing-new-features.mdx | 29 - .../contributing/helping-others.mdx | 13 - .../setting-up-a-dev-environment.mdx | 30 - .../contributing/testing.mdx | 16 - .../contributing/ways-of-contributing.mdx | 18 - .../credits.mdx | 303 -- .../docusaurus-plugin-content-pages/faq.mdx | 9 - .../markdown-page.md | 7 - .../docusaurus-plugin-content-pages/stats.mdx | 24 - .../ko/docusaurus-theme-classic/footer.json | 24 +- .../ko/docusaurus-theme-classic/navbar.json | 24 +- website/i18n/ru/code.json | 540 +-- .../2021-09-27-v2-beta1-release-notes.mdx | 155 - .../2021-11-08-v2-beta2-release-notes.mdx | 163 - .../2022-02-22-v2-beta3-release-notes.mdx | 110 - .../authors.yml | 10 - .../options.json | 6 +- .../current.json | 2 +- .../current/community/links.mdx | 23 - .../current/community/templates.mdx | 52 - .../guides/application-development.mdx | 194 - .../current/guides/bleeding-edge.mdx | 55 - .../current/guides/manual-builds.mdx | 95 - .../current/guides/templates.mdx | 95 - .../current/guides/windows.mdx | 61 - .../current/introduction.mdx | 71 - .../current/reference/runtime/dialog.mdx | 283 -- .../current/reference/runtime/intro.mdx | 73 - .../current/tutorials/helloworld.mdx | 118 - .../version-v2.0.0-beta.44.json | 38 - .../version-v2.0.0-rc.1/introduction.mdx | 2 +- .../version-v2.0.0.json | 38 + .../changelog.mdx | 370 -- .../community-guide.mdx | 142 - .../contributing/developing-new-features.mdx | 29 - .../contributing/documenting.mdx | 34 - .../contributing/fixing-bugs.mdx | 27 - .../contributing/helping-others.mdx | 13 - .../contributing/testing.mdx | 16 - .../contributing/ways-of-contributing.mdx | 18 - .../credits.mdx | 306 -- .../docusaurus-plugin-content-pages/faq.mdx | 9 - .../markdown-page.md | 7 - .../ru/docusaurus-theme-classic/footer.json | 8 +- .../ru/docusaurus-theme-classic/navbar.json | 14 +- .../2021-09-27-v2-beta1-release-notes.mdx | 2 +- .../2022-09-18-v2-release-notes.mdx | 99 + .../current/community/templates.mdx | 2 +- .../current/gettingstarted/development.mdx | 2 +- .../current/gettingstarted/installation.mdx | 2 +- .../guides/application-development.mdx | 2 +- .../current/guides/bleeding-edge.mdx | 4 +- .../current/guides/dynamic-assets.mdx | 2 +- .../current/guides/obfuscated.mdx | 4 +- .../current/howdoesitwork.mdx | 6 +- .../current/introduction.mdx | 7 +- .../current/reference/cli.mdx | 8 +- .../current/reference/menus.mdx | 8 +- .../current/reference/options.mdx | 81 +- .../current/reference/project-config.mdx | 2 +- .../version-v2.0.0-beta.44.json | 38 - .../version-v2.0.0-rc.1/introduction.mdx | 2 +- .../version-v2.0.0.json | 38 + .../version-v2.0.0/appendix/_category_.json | 4 + .../version-v2.0.0/community/_category_.json | 4 + .../version-v2.0.0/community/links.mdx | 23 + .../community/showcase/_category_.json | 0 .../community/showcase/emailit.mdx | 2 + .../community/showcase/encrypteasy.mdx | 2 + .../community/showcase/filehound.mdx | 2 + .../community/showcase/minecraftupdater.mdx | 6 +- .../community/showcase/modalfilemanager.mdx | 2 + .../community/showcase/mollywallet.mdx | 2 + .../community/showcase/october.mdx | 2 + .../community/showcase/optimus.mdx | 2 + .../community/showcase/portfall.mdx | 2 + .../community/showcase/restic-browser.mdx | 2 + .../community/showcase/riftshare.mdx | 21 + .../community/showcase/scriptbar.mdx | 2 + .../community/showcase/surge.mdx | 2 + .../community/showcase/wally.mdx | 2 + .../community/showcase/wombat.mdx | 2 + .../community/showcase/ytd.mdx | 2 + .../version-v2.0.0/community/templates.mdx | 54 + .../contributing/developing-new-features.mdx | 34 + .../contributing/documenting.mdx | 10 +- .../contributing/fixing-bugs.mdx | 8 +- .../setting-up-a-dev-environment.mdx | 2 +- .../contributing/ways-of-contributing.mdx | 18 + .../gettingstarted/_category_.json | 0 .../gettingstarted/building.mdx | 22 + .../gettingstarted/development.mdx | 16 + .../gettingstarted/firstproject.mdx | 130 + .../gettingstarted/installation.mdx | 78 + .../version-v2.0.0}/guides/_category_.json | 0 .../guides/application-development.mdx | 194 + .../version-v2.0.0/guides/bleeding-edge.mdx | 55 + .../version-v2.0.0}/guides/dynamic-assets.mdx | 38 +- .../version-v2.0.0/guides/frameless.mdx | 85 + .../version-v2.0.0/guides/frontend.mdx | 72 + .../version-v2.0.0/guides/ides.mdx | 128 + .../guides/linux-distro-support.mdx | 104 + .../version-v2.0.0/guides/linux.mdx | 18 + .../version-v2.0.0/guides/manual-builds.mdx | 95 + .../version-v2.0.0}/guides/migrating.mdx | 74 +- .../version-v2.0.0}/guides/mouse-buttons.mdx | 6 +- .../version-v2.0.0/guides/obfuscated.mdx | 42 + .../version-v2.0.0/guides/overscroll.mdx | 10 + .../version-v2.0.0/guides/routing.mdx | 47 + .../version-v2.0.0}/guides/signing.mdx | 188 +- .../version-v2.0.0/guides/templates.mdx | 97 + .../version-v2.0.0/guides/troubleshooting.mdx | 148 + .../version-v2.0.0/guides/vscode.mdx | 82 + .../guides/windows-installer.mdx | 58 + .../version-v2.0.0/guides/windows.mdx | 61 + .../version-v2.0.0/howdoesitwork.mdx | 363 ++ .../version-v2.0.0/introduction.mdx | 75 + .../version-v2.0.0}/reference/_category_.json | 0 .../version-v2.0.0/reference/cli.mdx | 229 ++ .../version-v2.0.0/reference/menus.mdx | 229 ++ .../version-v2.0.0/reference/options.mdx | 682 ++++ .../reference/project-config.mdx | 16 +- .../reference/runtime/_category_.json | 0 .../reference/runtime/browser.mdx | 13 + .../reference/runtime/dialog.mdx | 292 ++ .../reference/runtime/events.mdx | 37 + .../reference/runtime/intro.mdx | 90 + .../version-v2.0.0/reference/runtime/log.mdx | 130 + .../version-v2.0.0/reference/runtime/menu.mdx | 27 + .../reference/runtime/window.mdx | 215 + .../version-v2.0.0}/tutorials/_category_.json | 0 .../version-v2.0.0}/tutorials/dogsapi.mdx | 58 +- .../version-v2.0.0/tutorials/helloworld.mdx | 124 + .../changelog.mdx | 2 +- .../docusaurus-plugin-content-pages/coc.mdx | 2 +- .../community-guide.mdx | 10 +- .../credits.mdx | 115 +- .../docusaurus-plugin-content-pages/faq.mdx | 6 +- .../docusaurus-theme-classic/footer.json | 4 +- website/package.json | 90 +- .../components/HomepageFeatures.module.css | 1 + website/src/css/carousel.css | 51 +- website/src/css/custom.css | 158 +- website/src/pages/changelog.mdx | 17 +- website/src/pages/community-guide.mdx | 12 +- website/src/pages/credits.mdx | 115 +- website/src/pages/index.js | 158 +- website/src/pages/index.module.css | 14 +- website/static/img/architecture.svg | 1 - website/static/img/architecture.webp | Bin 4902 -> 10966 bytes website/static/img/blog/montage.png | Bin 0 -> 181442 bytes website/static/img/showcase/varly2.webp | Bin 0 -> 17594 bytes website/static/img/showcase/wally.webp | Bin 11194 -> 19100 bytes .../bronze-sponsor.webp} | Bin website/static/img/{ => sponsor}/easyweb.webp | Bin .../{ => sponsor}/jetbrains-grayscale.webp | Bin .../silver-sponsor.webp} | Bin website/static/img/sponsors.svg | 110 + website/static/img/varly.webp | Bin 135184 -> 0 bytes .../appendix/_category_.json | 4 - .../community/_category_.json | 4 - .../community/showcase/riftshare.mdx | 19 - .../community/showcase/wombat.mdx | 10 - .../contributing/_category_.json | 4 - .../contributing/developing-new-features.mdx | 35 - .../contributing/documenting.mdx | 39 - .../contributing/fixing-bugs.mdx | 30 - .../contributing/helping-others.mdx | 17 - .../setting-up-a-dev-environment.mdx | 34 - .../contributing/testing.mdx | 21 - .../contributing/ways-of-contributing.mdx | 22 - .../gettingstarted/development.mdx | 16 - .../guides/frameless.mdx | 47 - .../guides/frontend.mdx | 77 - .../version-v2.0.0-beta.44/guides/ides.mdx | 114 - .../version-v2.0.0-beta.44/guides/linux.mdx | 20 - .../version-v2.0.0-beta.44/guides/routing.mdx | 47 - .../guides/troubleshooting.mdx | 111 - .../version-v2.0.0-beta.44/reference/cli.mdx | 227 -- .../reference/options.mdx | 732 ---- .../reference/runtime/browser.mdx | 20 - .../reference/runtime/events.mdx | 51 - .../reference/runtime/log.mdx | 153 - .../reference/runtime/menu.mdx | 25 - .../reference/runtime/window.mdx | 224 - .../version-v2.0.0-rc.1/introduction.mdx | 2 +- .../version-v2.0.0}/appendix/_category_.json | 0 .../version-v2.0.0}/community/_category_.json | 0 .../community/links.mdx | 0 .../community/showcase/_category_.json | 0 .../community/showcase/emailit.mdx | 8 +- .../community/showcase/encrypteasy.mdx | 8 +- .../community/showcase/filehound.mdx | 9 +- .../community/showcase/minecraftupdater.mdx | 14 + .../community/showcase/modalfilemanager.mdx | 12 +- .../community/showcase/mollywallet.mdx | 9 +- .../community/showcase/october.mdx | 9 +- .../community/showcase/optimus.mdx | 9 +- .../community/showcase/portfall.mdx | 9 +- .../community/showcase/restic-browser.mdx | 13 +- .../community/showcase/riftshare.mdx | 2 + .../community/showcase/scriptbar.mdx | 7 +- .../community/showcase/surge.mdx | 9 +- .../community/showcase/wally.mdx | 9 +- .../community/showcase/wombat.mdx | 10 + .../community/showcase/ytd.mdx | 10 +- .../community/templates.mdx | 4 + .../gettingstarted/_category_.json | 0 .../gettingstarted/building.mdx | 12 +- .../gettingstarted/development.mdx | 16 + .../gettingstarted/firstproject.mdx | 15 +- .../gettingstarted/installation.mdx | 55 +- .../guides/_category_.json | 0 .../guides/application-development.mdx | 3 - .../guides/bleeding-edge.mdx | 13 +- .../guides/dynamic-assets.mdx | 32 +- .../version-v2.0.0}/guides/frameless.mdx | 33 +- .../version-v2.0.0}/guides/frontend.mdx | 3 +- .../version-v2.0.0}/guides/ides.mdx | 12 +- .../guides/linux-distro-support.mdx | 6 +- .../version-v2.0.0}/guides/linux.mdx | 6 +- .../guides/manual-builds.mdx | 1 - .../guides/migrating.mdx | 36 +- .../guides/mouse-buttons.mdx | 7 +- .../version-v2.0.0/guides/obfuscated.mdx | 46 + .../guides/overscroll.mdx | 8 +- .../version-v2.0.0}/guides/routing.mdx | 0 .../guides/signing.mdx | 137 +- .../guides/templates.mdx | 8 +- .../guides/troubleshooting.mdx | 70 +- .../version-v2.0.0}/guides/vscode.mdx | 7 +- .../guides/windows-installer.mdx | 15 +- .../guides/windows.mdx | 4 +- .../howdoesitwork.mdx | 152 +- .../introduction.mdx | 50 +- .../reference/_category_.json | 0 .../version-v2.0.0}/reference/cli.mdx | 67 +- .../reference/menus.mdx | 108 +- .../version-v2.0.0}/reference/options.mdx | 461 ++- .../reference/project-config.mdx | 12 +- .../reference/runtime/_category_.json | 0 .../reference/runtime/browser.mdx | 4 +- .../reference/runtime/dialog.mdx | 143 +- .../reference/runtime/events.mdx | 22 +- .../reference/runtime/intro.mdx | 45 +- .../version-v2.0.0}/reference/runtime/log.mdx | 48 +- .../reference/runtime/menu.mdx | 2 + .../reference/runtime/window.mdx | 98 +- .../tutorials/_category_.json | 0 .../version-v2.0.0/tutorials/dogsapi.mdx | 249 ++ .../tutorials/helloworld.mdx | 27 +- .../version-v2.0.0-beta.44-sidebars.json | 8 - .../version-v2.0.0-sidebars.json | 13 + website/versions.json | 6 +- 444 files changed, 13242 insertions(+), 10523 deletions(-) create mode 100644 .github/workflows/generate-sponsor-image.yml create mode 100644 .github/workflows/label-sponsors.yml create mode 100644 scripts/sponsors/generate-sponsor-image.sh create mode 100644 scripts/sponsors/package-lock.json create mode 100644 scripts/sponsors/package.json create mode 100644 scripts/sponsors/sponsorkit.config.js delete mode 100644 v2/NOTES.md delete mode 100644 website/.prettierrc create mode 100644 website/blog/2022-09-22-v2-release-notes.mdx delete mode 100644 website/i18n/en/docusaurus-plugin-content-docs/version-v2.0.0-beta.44.json create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/version-v2.0.0.json create mode 100644 website/i18n/ja/docusaurus-plugin-content-blog/2022-09-18-v2-release-notes.mdx create mode 100644 website/i18n/ja/docusaurus-plugin-content-docs/current/guides/obfuscated.mdx delete mode 100644 website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0-beta.44.json create mode 100644 website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0.json rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/appendix/_category_.json (100%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/_category_.json (100%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/links.mdx (100%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/_category_.json (100%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/emailit.mdx (96%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/encrypteasy.mdx (97%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/filehound.mdx (97%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/minecraftupdater.mdx (74%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/modalfilemanager.mdx (97%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/mollywallet.mdx (94%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/october.mdx (96%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/optimus.mdx (93%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/portfall.mdx (92%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/restic-browser.mdx (94%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/riftshare.mdx (97%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/scriptbar.mdx (96%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/surge.mdx (93%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/wally.mdx (95%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/wombat.mdx (90%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/ytd.mdx (94%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/community/templates.mdx (99%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/gettingstarted/_category_.json (100%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/gettingstarted/building.mdx (96%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/gettingstarted/development.mdx (91%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/gettingstarted/firstproject.mdx (93%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/gettingstarted/installation.mdx (65%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/_category_.json (100%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/application-development.mdx (100%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/bleeding-edge.mdx (100%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/dynamic-assets.mdx (96%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/frameless.mdx (92%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/frontend.mdx (100%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/ides.mdx (99%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/linux-distro-support.mdx (99%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/linux.mdx (100%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/manual-builds.mdx (100%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/migrating.mdx (99%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/mouse-buttons.mdx (100%) create mode 100644 website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/obfuscated.mdx rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/overscroll.mdx (87%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/routing.mdx (100%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/signing.mdx (91%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/templates.mdx (99%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/troubleshooting.mdx (95%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/vscode.mdx (100%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/windows-installer.mdx (98%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/guides/windows.mdx (100%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/howdoesitwork.mdx (98%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/introduction.mdx (77%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/reference/_category_.json (100%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/reference/cli.mdx (95%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/reference/menus.mdx (92%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/reference/options.mdx (80%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/reference/project-config.mdx (90%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/reference/runtime/_category_.json (100%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/reference/runtime/browser.mdx (99%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/reference/runtime/dialog.mdx (94%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/reference/runtime/events.mdx (88%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/reference/runtime/intro.mdx (71%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/reference/runtime/log.mdx (100%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/reference/runtime/menu.mdx (89%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/reference/runtime/window.mdx (91%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/tutorials/_category_.json (100%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/tutorials/dogsapi.mdx (94%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => ja/docusaurus-plugin-content-docs/version-v2.0.0}/tutorials/helloworld.mdx (96%) create mode 100644 website/i18n/ja/docusaurus-plugin-content-pages/coc.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-blog/2021-09-27-v2-beta1-release-notes.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-blog/2021-11-08-v2-beta2-release-notes.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-blog/2022-02-22-v2-beta3-release-notes.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-blog/authors.yml delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/contributing/_category_.json delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/contributing/developing-new-features.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/contributing/documenting.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/contributing/fixing-bugs.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/contributing/helping-others.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/contributing/setting-up-a-dev-environment.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/contributing/testing.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/contributing/ways-of-contributing.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/gettingstarted/building.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/gettingstarted/development.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/gettingstarted/firstproject.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/gettingstarted/installation.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/guides/linux-distro-support.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/guides/overscroll.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/guides/windows-installer.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/howdoesitwork.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/current/reference/menus.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/version-v2.0.0-beta.44.json create mode 100644 website/i18n/ko/docusaurus-plugin-content-docs/version-v2.0.0.json delete mode 100644 website/i18n/ko/docusaurus-plugin-content-pages/community-guide.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-pages/contributing/developing-new-features.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-pages/contributing/helping-others.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-pages/contributing/setting-up-a-dev-environment.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-pages/contributing/testing.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-pages/contributing/ways-of-contributing.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-pages/credits.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-pages/faq.mdx delete mode 100644 website/i18n/ko/docusaurus-plugin-content-pages/markdown-page.md delete mode 100644 website/i18n/ko/docusaurus-plugin-content-pages/stats.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-blog/2021-09-27-v2-beta1-release-notes.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-blog/2021-11-08-v2-beta2-release-notes.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-blog/2022-02-22-v2-beta3-release-notes.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-blog/authors.yml delete mode 100644 website/i18n/ru/docusaurus-plugin-content-docs/current/community/links.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-docs/current/community/templates.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-docs/current/guides/application-development.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-docs/current/guides/bleeding-edge.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-docs/current/guides/manual-builds.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-docs/current/guides/templates.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-docs/current/guides/windows.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-docs/current/introduction.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-docs/current/reference/runtime/dialog.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-docs/current/reference/runtime/intro.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-docs/current/tutorials/helloworld.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-docs/version-v2.0.0-beta.44.json create mode 100644 website/i18n/ru/docusaurus-plugin-content-docs/version-v2.0.0.json delete mode 100644 website/i18n/ru/docusaurus-plugin-content-pages/changelog.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-pages/community-guide.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-pages/contributing/developing-new-features.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-pages/contributing/documenting.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-pages/contributing/fixing-bugs.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-pages/contributing/helping-others.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-pages/contributing/testing.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-pages/contributing/ways-of-contributing.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-pages/credits.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-pages/faq.mdx delete mode 100644 website/i18n/ru/docusaurus-plugin-content-pages/markdown-page.md create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-blog/2022-09-18-v2-release-notes.mdx delete mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0-beta.44.json create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0.json create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/appendix/_category_.json create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/community/_category_.json create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/community/links.mdx rename website/i18n/{ru/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/_category_.json (100%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/emailit.mdx (96%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/encrypteasy.mdx (97%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/filehound.mdx (97%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/minecraftupdater.mdx (74%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/modalfilemanager.mdx (97%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/mollywallet.mdx (94%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/october.mdx (96%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/optimus.mdx (93%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/portfall.mdx (92%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/restic-browser.mdx (94%) create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/community/showcase/riftshare.mdx rename website/i18n/{ru/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/scriptbar.mdx (96%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/surge.mdx (93%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/wally.mdx (95%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/wombat.mdx (90%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/community/showcase/ytd.mdx (94%) create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/community/templates.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/contributing/developing-new-features.mdx rename website/i18n/{ko/docusaurus-plugin-content-pages => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/contributing/documenting.mdx (69%) rename website/i18n/{ko/docusaurus-plugin-content-pages => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/contributing/fixing-bugs.mdx (58%) rename website/i18n/{ru/docusaurus-plugin-content-pages => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/contributing/setting-up-a-dev-environment.mdx (95%) create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/contributing/ways-of-contributing.mdx rename website/i18n/{ru/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/gettingstarted/_category_.json (100%) create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/gettingstarted/building.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/gettingstarted/development.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/gettingstarted/firstproject.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/gettingstarted/installation.mdx rename website/i18n/{ru/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/guides/_category_.json (100%) create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/application-development.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/bleeding-edge.mdx rename website/i18n/{ko/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/guides/dynamic-assets.mdx (59%) create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/frameless.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/frontend.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/ides.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/linux-distro-support.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/linux.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/manual-builds.mdx rename website/i18n/{ko/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/guides/migrating.mdx (58%) rename website/i18n/{ko/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/guides/mouse-buttons.mdx (53%) create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/obfuscated.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/overscroll.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/routing.mdx rename website/i18n/{ko/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/guides/signing.mdx (52%) create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/templates.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/troubleshooting.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/vscode.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/windows-installer.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/guides/windows.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/howdoesitwork.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/introduction.mdx rename website/i18n/{ru/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/reference/_category_.json (100%) create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/reference/cli.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/reference/menus.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/reference/options.mdx rename website/i18n/{ko/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/reference/project-config.mdx (82%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/reference/runtime/_category_.json (100%) create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/browser.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/dialog.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/events.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/intro.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/log.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/menu.mdx create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/window.mdx rename website/i18n/{ru/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/tutorials/_category_.json (100%) rename website/i18n/{ru/docusaurus-plugin-content-docs/current => zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0}/tutorials/dogsapi.mdx (72%) create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0/tutorials/helloworld.mdx delete mode 100644 website/static/img/architecture.svg create mode 100644 website/static/img/blog/montage.png create mode 100644 website/static/img/showcase/varly2.webp rename website/static/img/{bronze sponsor.webp => sponsor/bronze-sponsor.webp} (100%) rename website/static/img/{ => sponsor}/easyweb.webp (100%) rename website/static/img/{ => sponsor}/jetbrains-grayscale.webp (100%) rename website/static/img/{silver sponsor.webp => sponsor/silver-sponsor.webp} (100%) create mode 100644 website/static/img/sponsors.svg delete mode 100644 website/static/img/varly.webp delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/appendix/_category_.json delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/community/_category_.json delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/community/showcase/riftshare.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/community/showcase/wombat.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/contributing/_category_.json delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/contributing/developing-new-features.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/contributing/documenting.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/contributing/fixing-bugs.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/contributing/helping-others.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/contributing/setting-up-a-dev-environment.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/contributing/testing.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/contributing/ways-of-contributing.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/gettingstarted/development.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/guides/frameless.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/guides/frontend.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/guides/ides.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/guides/linux.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/guides/routing.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/guides/troubleshooting.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/reference/cli.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/reference/options.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/reference/runtime/browser.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/reference/runtime/events.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/reference/runtime/log.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/reference/runtime/menu.mdx delete mode 100644 website/versioned_docs/version-v2.0.0-beta.44/reference/runtime/window.mdx rename website/{i18n/ru/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/appendix/_category_.json (100%) rename website/{i18n/ru/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/community/_category_.json (100%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/links.mdx (100%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/showcase/_category_.json (100%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/showcase/emailit.mdx (79%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/showcase/encrypteasy.mdx (80%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/showcase/filehound.mdx (83%) create mode 100644 website/versioned_docs/version-v2.0.0/community/showcase/minecraftupdater.mdx rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/showcase/modalfilemanager.mdx (78%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/showcase/mollywallet.mdx (63%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/showcase/october.mdx (72%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/showcase/optimus.mdx (56%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/showcase/portfall.mdx (50%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/showcase/restic-browser.mdx (57%) rename website/{i18n/ko/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/community/showcase/riftshare.mdx (97%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/showcase/scriptbar.mdx (77%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/showcase/surge.mdx (60%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/showcase/wally.mdx (69%) create mode 100644 website/versioned_docs/version-v2.0.0/community/showcase/wombat.mdx rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/showcase/ytd.mdx (67%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/community/templates.mdx (93%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/gettingstarted/_category_.json (100%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/gettingstarted/building.mdx (73%) create mode 100644 website/versioned_docs/version-v2.0.0/gettingstarted/development.mdx rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/gettingstarted/firstproject.mdx (98%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/gettingstarted/installation.mdx (54%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/guides/_category_.json (100%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/guides/application-development.mdx (99%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/guides/bleeding-edge.mdx (81%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/guides/dynamic-assets.mdx (86%) rename website/{i18n/ru/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/guides/frameless.mdx (66%) rename website/{i18n/ko/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/guides/frontend.mdx (93%) rename website/{i18n/ko/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/guides/ides.mdx (84%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/guides/linux-distro-support.mdx (99%) rename website/{i18n/ru/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/guides/linux.mdx (62%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/guides/manual-builds.mdx (99%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/guides/migrating.mdx (73%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/guides/mouse-buttons.mdx (92%) create mode 100644 website/versioned_docs/version-v2.0.0/guides/obfuscated.mdx rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/guides/overscroll.mdx (84%) rename website/{i18n/ko/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/guides/routing.mdx (100%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/guides/signing.mdx (84%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/guides/templates.mdx (96%) rename website/{i18n/ru/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/guides/troubleshooting.mdx (63%) rename website/{i18n/ru/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/guides/vscode.mdx (88%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/guides/windows-installer.mdx (85%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/guides/windows.mdx (98%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/howdoesitwork.mdx (82%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/introduction.mdx (69%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/reference/_category_.json (100%) rename website/{i18n/ko/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/reference/cli.mdx (89%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/reference/menus.mdx (74%) rename website/{i18n/ru/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/reference/options.mdx (61%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/reference/project-config.mdx (88%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/reference/runtime/_category_.json (100%) rename website/{i18n/ko/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/reference/runtime/browser.mdx (62%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/reference/runtime/dialog.mdx (77%) rename website/{i18n/ko/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/reference/runtime/events.mdx (53%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/reference/runtime/intro.mdx (75%) rename website/{i18n/ru/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/reference/runtime/log.mdx (64%) rename website/{i18n/ko/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/reference/runtime/menu.mdx (99%) rename website/{i18n/ko/docusaurus-plugin-content-docs/current => versioned_docs/version-v2.0.0}/reference/runtime/window.mdx (55%) rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/tutorials/_category_.json (100%) create mode 100644 website/versioned_docs/version-v2.0.0/tutorials/dogsapi.mdx rename website/versioned_docs/{version-v2.0.0-beta.44 => version-v2.0.0}/tutorials/helloworld.mdx (88%) delete mode 100644 website/versioned_sidebars/version-v2.0.0-beta.44-sidebars.json create mode 100644 website/versioned_sidebars/version-v2.0.0-sidebars.json diff --git a/.all-contributorsrc b/.all-contributorsrc index 9d51f86c7..9c5e450b1 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -655,7 +655,6 @@ "avatar_url": "https://avatars.githubusercontent.com/u/14013111?v=4", "profile": "https://github.com/GargantuaX", "contributions": [ - "doc", "financial" ] }, @@ -1319,6 +1318,36 @@ "contributions": [ "doc" ] + }, + { + "login": "KiddoV", + "name": "kiddov", + "avatar_url": "https://avatars.githubusercontent.com/u/28552977?v=4", + "profile": "https://github.com/KiddoV", + "contributions": [ + "doc", + "financial", + "test", + "ideas" + ] + }, + { + "login": "Ilshidur", + "name": "Nicolas Coutin", + "avatar_url": "https://avatars.githubusercontent.com/u/6564012?v=4", + "profile": "https://nicolas-coutin.com/", + "contributions": [ + "financial" + ] + }, + { + "login": "ParvinEyvazov", + "name": "Parvin Eyvazov", + "avatar_url": "https://avatars.githubusercontent.com/u/32189770?v=4", + "profile": "https://github.com/ParvinEyvazov", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 8, diff --git a/.github/stale.yml b/.github/stale.yml index c99691f70..805bd589d 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -10,7 +10,7 @@ exemptLabels: - inprogress - "Selected For Development" # Label to use when marking an issue as stale -staleLabel: wontfix +staleLabel: "Wont Fix" # Comment to post when marking an issue as stale. Set to `false` to disable markComment: > This issue has been automatically marked as stale because it has not had diff --git a/.github/workflows/generate-sponsor-image.yml b/.github/workflows/generate-sponsor-image.yml new file mode 100644 index 000000000..711a7b1bb --- /dev/null +++ b/.github/workflows/generate-sponsor-image.yml @@ -0,0 +1,33 @@ +name: Generate Sponsor Image + +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * *" + push: + branches: [ master ] + +jobs: + update-sponsors: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Set node + uses: actions/setup-node@v2 + with: + node-version: 16.x + + - name: Update sponsors + run: cd scripts/sponsors && chmod 755 ./generate-sponsor-image.sh && ./generate-sponsor-image.sh + env: + SPONSORKIT_GITHUB_TOKEN: ${{ secrets.SPONSORS_TOKEN }} + SPONSORKIT_GITHUB_LOGIN: wailsapp + + - name: Commit + uses: EndBug/add-and-commit@v4 + with: + message: "chore: update sponsors.svg" + add: "website/static/img/sponsors.svg" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/label-sponsors.yml b/.github/workflows/label-sponsors.yml new file mode 100644 index 000000000..fdaacb3cc --- /dev/null +++ b/.github/workflows/label-sponsors.yml @@ -0,0 +1,14 @@ +name: Label sponsors +on: + pull_request: + types: [ opened ] + issues: + types: [ opened ] +jobs: + build: + name: is-sponsor-label + runs-on: ubuntu-latest + steps: + - uses: JasonEtco/is-sponsor-label-action@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d1eb47545..5a763d836 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -66,6 +66,6 @@ jobs: run: | mkdir -p ./test-${{ matrix.template }} cd ./test-${{ matrix.template }} - wails init -n ${{ matrix.template }} -t ${{ matrix.template }} + wails init -n ${{ matrix.template }} -t ${{ matrix.template }} -ci cd ${{ matrix.template }} wails build -v 2 diff --git a/.gitignore b/.gitignore index 1b4152462..7da685641 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,5 @@ v2/test/kitchensink/build/darwin/desktop/kitchensink v2/test/kitchensink/frontend/package.json.md5 .idea/ v2/cmd/wails/internal/commands/initialise/templates/testtemplates/ +.env +/website/static/img/.cache.json diff --git a/README.ja.md b/README.ja.md index ed8757f4b..8ee398e39 100644 --- a/README.ja.md +++ b/README.ja.md @@ -17,9 +17,6 @@ Go Reference - - CodeFactor - CodeFactor @@ -29,6 +26,9 @@ Awesome + + Slack +
Build @@ -48,19 +48,8 @@ -
-

- -注意:v2のリリースが近づいているため、v1の新しい機能リクエストやバグレポートは受け付けておりません。重要な問題がある場合はチケットを開き、なぜそれが重要なのかを明記してください。 - -

-
- ## 目次 -
- クリックすることで、ディレクトリ一覧の開閉が可能です。 - - [目次](#目次) - [はじめに](#はじめに) - [公式サイト](#公式サイト) @@ -74,8 +63,6 @@ - [スペシャルサンクス](#スペシャルサンクス) - [ライセンス](#ライセンス) -
- ## はじめに Go プログラムにウェブインタフェースを提供する従来の方法は内蔵のウェブサーバを経由するものですが、 Wails では異なるアプローチを提供します。 @@ -114,108 +101,7 @@ Wails v2 が 3 つのプラットフォームでベータ版としてリリー ## スポンサー このプロジェクトは、以下の方々・企業によって支えられています。 - -
- - - - - -
-
- - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ## 始め方 diff --git a/README.md b/README.md index 7367bca6a..9312d7057 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ -

Wails

-


@@ -17,9 +15,6 @@ Go Reference - - CodeFactor - CodeFactor @@ -29,6 +24,9 @@ Awesome + + Slack +
Build @@ -48,33 +46,18 @@ -
-

- -PLEASE NOTE: As we are approaching the v2 release, we are not accepting any new feature requests or bug reports for v1. If you have a critical issue, please open a ticket and state why it is critical. - -

-
- ## Table of Contents -
- Click me to Open/Close the directory listing - - [Table of Contents](#table-of-contents) - [Introduction](#introduction) - - [Official Website](#official-website) - - [Roadmap](#roadmap) - [Features](#features) -- [Sponsors](#sponsors) + - [Roadmap](#roadmap) - [Getting Started](#getting-started) +- [Sponsors](#sponsors) - [FAQ](#faq) - [Contributors](#contributors) -- [Special Mentions](#special-mentions) -- [Special Thanks](#special-thanks) - [License](#license) - -
+- [Inspiration](#inspiration) ## Introduction @@ -90,145 +73,34 @@ make this easy for you by handling project creation, compilation and bundling. A - Easily call Go methods from Javascript - Auto-generated Typescript definitions for your Go structs and methods - Native Dialogs & Menus +- Native Dark / Light mode support - Supports modern translucency and "frosted window" effects - Unified eventing system between Go and Javascript - Powerful cli tool to quickly generate and build your projects - Multiplatform - Uses native rendering engines - _no embedded browser_! -### Official Website - -Version 2: - -Wails v2 has been released in Beta for all 3 platforms. Check out the [new website](https://wails.io) if you are -interested in trying it out. - -Legacy v1 Website: - -The legacy v1 docs can be found at [https://wails.app](https://wails.app). - ### Roadmap The project roadmap may be found [here](https://github.com/wailsapp/wails/discussions/1484). Please consult this before open up an enhancement request. -## Sponsors - -This project is supported by these kind people / companies: - -
- - - - - -
-
- - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## Getting Started The installation instructions are on the [official website](https://wails.io/docs/gettingstarted/installation). +## Sponsors + +This project is supported by these kind people / companies: + + ## FAQ - Is this an alternative to Electron? Depends on your requirements. It's designed to make it easy for Go programmers to make lightweight desktop - applications or add a frontend to their existing applications. Wails v2 does offer native elements such as menus - and dialogs, so it is becoming a lightweight electron alternative. + applications or add a frontend to their existing applications. Wails does offer native elements such as menus + and dialogs, so it could be considered a lightweight electron alternative. - Who is this project aimed at? @@ -250,16 +122,11 @@ The installation instructions are on the [official website](https://wails.io/doc The contributors list is getting too big for the readme! All the amazing people who have contributed to this project have their own page [here](https://wails.io/credits#contributors). -## Special Mentions +## License -Without the following people, this project would never have existed: +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fwailsapp%2Fwails.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fwailsapp%2Fwails?ref=badge_large) -- [Dustin Krysak](https://wiki.ubuntu.com/bashfulrobot) - His support and feedback has been immense. More patience than - you can throw a stick at (Not long now Dustin!). -- [Serge Zaitsev](https://github.com/zserge) - Creator of [Webview](https://github.com/zserge/webview) which Wails uses - for the windowing. -- [Byron](https://github.com/bh90210) - At times, Byron has single handedly kept this project alive. Without his - incredible input, we never would have got to v1. +## Inspiration This project was mainly coded to the following albums: @@ -276,21 +143,3 @@ This project was mainly coded to the following albums: - [Bloc Party - Silent Alarm](https://open.spotify.com/album/6SsIdN05HQg2GwYLfXuzLB) - [Maxthor - Another World](https://open.spotify.com/album/3tklE2Fgw1hCIUstIwPBJF) - [Alun Tan Lan - Y Distawrwydd](https://open.spotify.com/album/0c32OywcLpdJCWWMC6vB8v) - -## Special Thanks - -

-
- A huge thanks to Pace for sponsoring the project and helping the efforts to get Wails ported to Apple Silicon!

- If you are looking for a Project Management tool that's powerful but quick and easy to use, check them out!

-

- -

- A special thank you to JetBrains for donating licenses to us!

- Please click the logo to let them know your appreciation!

- -

- -## License - -[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fwailsapp%2Fwails.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fwailsapp%2Fwails?ref=badge_large) diff --git a/README.zh-Hans.md b/README.zh-Hans.md index 6f1185db2..dc1cb6246 100644 --- a/README.zh-Hans.md +++ b/README.zh-Hans.md @@ -17,9 +17,6 @@ Go Reference - - CodeFactor - CodeFactor @@ -29,6 +26,9 @@ Awesome + + Slack +
Build @@ -48,53 +48,24 @@ -
-

- -请注意:随着我们接近 v2 版本,我们不接受 v1 的任何新功能请求或错误报告。如果您有一个关键问题,请开一个Issue并说明为什么它很关键。 - -

-
- ## 内容目录 -
- 点我 打开/关闭 目录列表 - - [内容目录](#内容目录) - [项目介绍](#项目介绍) - - [官方网站](#官方网站) - - [路线图](#路线图) - [功能](#功能) -- [赞助商](#赞助商) + - [路线图](#路线图) - [快速入门](#快速入门) +- [赞助商](#赞助商) - [常见问题](#常见问题) - [贡献者](#贡献者) -- [特别提及](#特别提及) -- [特别感谢](#特别感谢) - [许可证](#许可证) - -
+- [灵感](#灵感) ## 项目介绍 为 Go 程序提供 Web 界面的传统方法是通过内置 Web 服务器。Wails 提供了一种不同的方法:它提供了将 Go 代码和 Web 前端一起打包成单个二进制文件的能力。通过提供的工具,可以很轻松的完成项目的创建、编译和打包。你所要做的就是发挥创造力! -### 官方网站 - -V2: - -Wails v2 已针对所有 3 个平台发布了 Beta 版。如果您有兴趣尝试一下,请查看[新网站](https://wails.io)。 - -旧版 V1: - -旧版 v1 文档可以在[https://wails.app](https://wails.app)找到。 - -### 路线图 - -项目路线图可在[此处](https://github.com/wailsapp/wails/discussions/1484)找到。在提出增强请求之前请查阅此内容。 - ## 功能 - 后端使用标准 Go @@ -104,120 +75,24 @@ Wails v2 已针对所有 3 个平台发布了 Beta 版。如果您有兴趣尝 - 为您的 Go 结构体和方法自动生成 Typescript 声明 - 原生对话框和菜单 - 支持现代半透明和“磨砂窗”效果 -- Go 和 Javascript 之间的统一事件系统 -- 强大的 CLI 工具,可快速生成和构建您的项目 +- Go 和 Javascript 之间统一的事件系统 +- 强大的命令行工具,可快速生成和构建您的项目 - 跨平台 -- 使用原生渲染引擎 - _没有嵌入式浏览器_! +- 使用原生渲染引擎 - _没有嵌入浏览器_! + +### 路线图 + +项目路线图可在 [此处](https://github.com/wailsapp/wails/discussions/1484) 找到。在提出增强请求之前请查阅此内容。 + +## 快速入门 + +使用说明在 [官网](https://wails.io/docs/gettingstarted/installation)。 ## 赞助商 这个项目由以下这些人或者公司支持: -
- - - - - -
-
- - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## 快速入门 - -使用说明在[官网](https://wails.io/docs/gettingstarted/installation)。 + ## 常见问题 @@ -242,15 +117,13 @@ Wails v2 已针对所有 3 个平台发布了 Beta 版。如果您有兴趣尝 贡献者列表对于 README 文件来说太大了!所有为这个项目做出贡献的了不起的人在[这里](https://wails.io/credits#contributors)都有自己的页面。 -## 特别提及 +## 许可证 -如果没有以下人员,此项目或许永远不会存在: +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fwailsapp%2Fwails.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fwailsapp%2Fwails?ref=badge_large) -- [Dustin Krysak](https://wiki.ubuntu.com/bashfulrobot) - 他的支持和反馈是巨大的。 -- [Serge Zaitsev](https://github.com/zserge) - Wails 窗口所使用的 [Webview](https://github.com/zserge/webview) 的作者。 -- [Byron](https://github.com/bh90210) - 有时,Byron 一个人保持这个项目活跃着。没有他令人难以置信的投入,我们永远不会得到 v1 。 +## 灵感 -编写项目代码时伴随着以下专辑: +项目灵感主要来自以下专辑: - [Manic Street Preachers - Resistance Is Futile](https://open.spotify.com/album/1R2rsEUqXjIvAbzM0yHrxA) - [Manic Street Preachers - This Is My Truth, Tell Me Yours](https://open.spotify.com/album/4VzCL9kjhgGQeKCiojK1YN) @@ -265,21 +138,3 @@ Wails v2 已针对所有 3 个平台发布了 Beta 版。如果您有兴趣尝 - [Bloc Party - Silent Alarm](https://open.spotify.com/album/6SsIdN05HQg2GwYLfXuzLB) - [Maxthor - Another World](https://open.spotify.com/album/3tklE2Fgw1hCIUstIwPBJF) - [Alun Tan Lan - Y Distawrwydd](https://open.spotify.com/album/0c32OywcLpdJCWWMC6vB8v) - -## 特别感谢 - -

-
- 非常 感谢Pace对项目的赞助,并帮助将 Wails 移植到 Apple Silicon !

- 如果您正在寻找一个强大并且快速和易于使用的项目管理工具,可以看看他们!

-

- -

- 特别感谢 JetBrains 向我们捐赠许可!

- 请点击 logo 让他们知道你的感激之情!

- -

- -## 许可证 - -[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fwailsapp%2Fwails.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fwailsapp%2Fwails?ref=badge_large) diff --git a/scripts/sponsors/generate-sponsor-image.sh b/scripts/sponsors/generate-sponsor-image.sh new file mode 100644 index 000000000..93ed17244 --- /dev/null +++ b/scripts/sponsors/generate-sponsor-image.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +npm install +npx sponsorkit -o ../../website/static/img/ diff --git a/scripts/sponsors/package-lock.json b/scripts/sponsors/package-lock.json new file mode 100644 index 000000000..23af3e9b3 --- /dev/null +++ b/scripts/sponsors/package-lock.json @@ -0,0 +1,3606 @@ +{ + "name": "scripts", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "scripts", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "sponsorkit": "^0.5.2" + } + }, + "node_modules/@antfu/utils": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.5.2.tgz", + "integrity": "sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escape-sequences": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-4.1.0.tgz", + "integrity": "sha512-dzW9kHxH011uBsidTXd14JXgzye/YLb2LzeKZ4bsgl/Knwx8AtbSFkkGxagdNOoh0DlqHCmfiEjWKBaqjOanVw==", + "dev": true, + "dependencies": { + "array-back": "^3.0.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ansi-escape-sequences/node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "dev": true, + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/cliss": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/cliss/-/cliss-0.0.2.tgz", + "integrity": "sha512-6rj9pgdukjT994Md13JCUAgTk91abAKrygL9sAvmHY4F6AKMOV8ccGaxhUUfcBuyg3sundWnn3JE0Mc9W6ZYqw==", + "dev": true, + "dependencies": { + "command-line-usage": "^4.0.1", + "deepmerge": "^2.0.0", + "get-stdin": "^5.0.1", + "inspect-parameters-declaration": "0.0.9", + "object-to-arguments": "0.0.8", + "pipe-functions": "^1.3.0", + "strip-ansi": "^4.0.0", + "yargs-parser": "^7.0.0" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dev": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/command-line-usage": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.1.0.tgz", + "integrity": "sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g==", + "dev": true, + "dependencies": { + "ansi-escape-sequences": "^4.0.0", + "array-back": "^2.0.0", + "table-layout": "^0.4.2", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defu": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.0.tgz", + "integrity": "sha512-pOFYRTIhoKujrmbTRhcW5lYQLBXw/dlTwfI8IguF1QCDJOcJzNH1w+YFjxqy6BAuJrClTy6MUE8q+oKJ2FLsIw==", + "dev": true + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/destr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/destr/-/destr-1.1.1.tgz", + "integrity": "sha512-QqkneF8LrYmwATMdnuD2MLI3GHQIcBnG6qFC2q9bSH430VTCDAVjcspPmUaKhPGtAtPAftIUFqY1obQYQuwmbg==", + "dev": true + }, + "node_modules/detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz", + "integrity": "sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/for-each-property": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/for-each-property/-/for-each-property-0.0.4.tgz", + "integrity": "sha512-xYs28PM0CKXETFzuGC6ZooH0voZlsSDZwidJcy92flQJi3PK7i3gZx23xHXCPOaD4zmet3bDo+wS7E7SujrlCw==", + "dev": true, + "dependencies": { + "get-prototype-chain": "^1.0.1" + } + }, + "node_modules/for-each-property-deep": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/for-each-property-deep/-/for-each-property-deep-0.0.3.tgz", + "integrity": "sha512-qzP8QkODWVVRPpWiBZacSbBl67cTTWoBfxMG0wE46AsS1yl7qv05sGN+dHvD4s4tnvl/goe6Sp4qBI+rlVBgNg==", + "dev": true, + "dependencies": { + "for-each-property": "0.0.4" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-prototype-chain": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-prototype-chain/-/get-prototype-chain-1.0.1.tgz", + "integrity": "sha512-2m7WZ0jveIg/dAbCbpUxEToaJ8Dmti5EkgDP8YM3UpHUT6SAORjE2odP8XQGNVGXMHi8q8cCCoy3HTByTaTVTw==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/get-stdin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", + "integrity": "sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/image-data-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/image-data-uri/-/image-data-uri-2.0.1.tgz", + "integrity": "sha512-BZh721F2Q5TwBdwpiqrBrHEdj8daj8KuMZK/DOCyqQlz1CqFhhuZWbK5ZCUnAvFJr8LaKHTaWl9ja3/a3DC2Ew==", + "dev": true, + "dependencies": { + "fs-extra": "^0.26.7", + "magicli": "0.0.8", + "mime-types": "^2.1.18", + "request": "^2.88.0" + }, + "bin": { + "image-data-uri": "bin/magicli.js" + } + }, + "node_modules/image-data-uri/node_modules/fs-extra": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", + "integrity": "sha512-waKu+1KumRhYv8D8gMRCKJGAMI9pRnPuEb1mvgYD0f7wBscg+h6bW4FDTmEZhB9VKxvoTtxW+Y7bnIlB7zja6Q==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/image-data-uri/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/inspect-function": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/inspect-function/-/inspect-function-0.3.4.tgz", + "integrity": "sha512-s0RsbJqK/sNZ+U1mykGoTickog3ea1A9Qk4mXniogOBu4PgkkZ56elScO7QC/r8D94lhGmJ2NyDI1ipOA/uq/g==", + "dev": true, + "dependencies": { + "inspect-parameters-declaration": "0.0.8", + "magicli": "0.0.8", + "split-skip": "0.0.1", + "stringify-parameters": "0.0.4", + "unpack-string": "0.0.2" + }, + "bin": { + "inspect-function": "bin/magicli.js" + } + }, + "node_modules/inspect-function/node_modules/inspect-function": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/inspect-function/-/inspect-function-0.2.2.tgz", + "integrity": "sha512-becs5gzcHwPrlHawscYkyQ/ShiOiosrXPhA5RVZ3qyWH4aWdD52RnMfXq/dwQXciHwiieD8aIPwdIWYv6eL+sQ==", + "dev": true, + "dependencies": { + "split-skip": "0.0.1", + "unpack-string": "0.0.2" + } + }, + "node_modules/inspect-function/node_modules/inspect-parameters-declaration": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/inspect-parameters-declaration/-/inspect-parameters-declaration-0.0.8.tgz", + "integrity": "sha512-W4QzN1LgFmasKOM+NoLlDd2OAZM3enNZlVUOXoGQKmYBDFgxoPDOyebF55ALaf8avyM9TavNwibXxg347RrzCg==", + "dev": true, + "dependencies": { + "magicli": "0.0.5", + "split-skip": "0.0.2", + "stringify-parameters": "0.0.4", + "unpack-string": "0.0.2" + }, + "bin": { + "inspect-parameters-declaration": "bin/cli.js" + } + }, + "node_modules/inspect-function/node_modules/inspect-parameters-declaration/node_modules/magicli": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/magicli/-/magicli-0.0.5.tgz", + "integrity": "sha512-wZbMtnl2v1b+Jp3xlqA9FU/O4I6YhGXR8xSY/eU2+gDAvut/F+W3gl4qs61iL4LELC7jqSAE6aAD5668EbmQHA==", + "dev": true, + "dependencies": { + "commander": "^2.9.0", + "get-stdin": "^5.0.1", + "inspect-function": "^0.2.1", + "pipe-functions": "^1.2.0" + } + }, + "node_modules/inspect-function/node_modules/inspect-parameters-declaration/node_modules/split-skip": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/split-skip/-/split-skip-0.0.2.tgz", + "integrity": "sha512-weHOi8BolsDnGIwhhWHbA+wKSuSpvWwjRrdj8SdbIIis2vSwOE37CQP8x3EleuzxanUr3AK8BdUy4MkiOULPZg==", + "dev": true + }, + "node_modules/inspect-function/node_modules/split-skip": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/split-skip/-/split-skip-0.0.1.tgz", + "integrity": "sha512-7dkvq+gofI4M8zx4iZnEZ3O1s7FP4Y/iaIDHJh5RyWrs8idcPauFi2OZe3TBi36fLvR2j5z3kSzVtz6IhPdncQ==", + "dev": true + }, + "node_modules/inspect-parameters-declaration": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/inspect-parameters-declaration/-/inspect-parameters-declaration-0.0.9.tgz", + "integrity": "sha512-c3jrKKA1rwwrsjdGMAo2hFWV0vNe3/RKHxpE/OBt41LP3ynOVI1qmgxpZYK5SQu3jtWCyaho8L7AZzCjJ4mEUw==", + "dev": true, + "dependencies": { + "magicli": "0.0.5", + "split-skip": "0.0.2", + "stringify-parameters": "0.0.4", + "unpack-string": "0.0.2" + }, + "bin": { + "inspect-parameters-declaration": "bin/cli.js" + } + }, + "node_modules/inspect-parameters-declaration/node_modules/inspect-function": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/inspect-function/-/inspect-function-0.2.2.tgz", + "integrity": "sha512-becs5gzcHwPrlHawscYkyQ/ShiOiosrXPhA5RVZ3qyWH4aWdD52RnMfXq/dwQXciHwiieD8aIPwdIWYv6eL+sQ==", + "dev": true, + "dependencies": { + "split-skip": "0.0.1", + "unpack-string": "0.0.2" + } + }, + "node_modules/inspect-parameters-declaration/node_modules/inspect-function/node_modules/split-skip": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/split-skip/-/split-skip-0.0.1.tgz", + "integrity": "sha512-7dkvq+gofI4M8zx4iZnEZ3O1s7FP4Y/iaIDHJh5RyWrs8idcPauFi2OZe3TBi36fLvR2j5z3kSzVtz6IhPdncQ==", + "dev": true + }, + "node_modules/inspect-parameters-declaration/node_modules/magicli": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/magicli/-/magicli-0.0.5.tgz", + "integrity": "sha512-wZbMtnl2v1b+Jp3xlqA9FU/O4I6YhGXR8xSY/eU2+gDAvut/F+W3gl4qs61iL4LELC7jqSAE6aAD5668EbmQHA==", + "dev": true, + "dependencies": { + "commander": "^2.9.0", + "get-stdin": "^5.0.1", + "inspect-function": "^0.2.1", + "pipe-functions": "^1.2.0" + } + }, + "node_modules/inspect-property": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/inspect-property/-/inspect-property-0.0.6.tgz", + "integrity": "sha512-LgjHkRl9W6bj2n+kWrAOgvCYPTYt+LanE4rtd/vKNq6yEb+SvVV7UTLzoSPpDX6/U1cAz7VfqPr+lPAIz7wHaQ==", + "dev": true, + "dependencies": { + "for-each-property": "0.0.4", + "for-each-property-deep": "0.0.3", + "inspect-function": "^0.3.1" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "node_modules/jiti": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.16.0.tgz", + "integrity": "sha512-L3BJStEf5NAqNuzrpfbN71dp43mYIcBUlCRea/vdyv5dW/AYa1d4bpelko4SHdY3I6eN9Wzyasxirj1/vv5kmg==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash.padend": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", + "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magicli": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/magicli/-/magicli-0.0.8.tgz", + "integrity": "sha512-x/eBenweAHF+DsYy172sK4doRxZl0yrJnfxhLJiN7H6hPM3Ya0PfI6uBZshZ3ScFFSQD7HXgBqMdbnXKEZsO1g==", + "dev": true, + "dependencies": { + "cliss": "0.0.2", + "find-up": "^2.1.0", + "for-each-property": "0.0.4", + "inspect-property": "0.0.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "dev": true + }, + "node_modules/node-abi": { + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.24.0.tgz", + "integrity": "sha512-YPG3Co0luSu6GwOBsmIdGW6Wx0NyNDLg/hriIyDllVsNwnI6UeqaWShxC3lbH4LtEQUgoLP3XR1ndXiDAWvmRw==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz", + "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==", + "dev": true + }, + "node_modules/node-fetch-native": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-0.1.7.tgz", + "integrity": "sha512-hps7dFJM0IEF056JftDSSjWDAwW9v2clwHoUJiHyYgl+ojoqjKyWybljMlpTmlC1O+864qovNlRLyAIjRxu9Ag==", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-to-arguments": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/object-to-arguments/-/object-to-arguments-0.0.8.tgz", + "integrity": "sha512-BfWfuAwuhdH1bhMG5EG90WE/eckkBhBvnke8eSEkCDXoLE9Jk5JwYGTbCx1ehGwV48HvBkn62VukPBdlMUOY9w==", + "dev": true, + "dependencies": { + "inspect-parameters-declaration": "0.0.10", + "magicli": "0.0.5", + "split-skip": "0.0.2", + "stringify-parameters": "0.0.4", + "unpack-string": "0.0.2" + }, + "bin": { + "object-to-arguments": "bin/cli.js" + } + }, + "node_modules/object-to-arguments/node_modules/inspect-function": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/inspect-function/-/inspect-function-0.2.2.tgz", + "integrity": "sha512-becs5gzcHwPrlHawscYkyQ/ShiOiosrXPhA5RVZ3qyWH4aWdD52RnMfXq/dwQXciHwiieD8aIPwdIWYv6eL+sQ==", + "dev": true, + "dependencies": { + "split-skip": "0.0.1", + "unpack-string": "0.0.2" + } + }, + "node_modules/object-to-arguments/node_modules/inspect-function/node_modules/split-skip": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/split-skip/-/split-skip-0.0.1.tgz", + "integrity": "sha512-7dkvq+gofI4M8zx4iZnEZ3O1s7FP4Y/iaIDHJh5RyWrs8idcPauFi2OZe3TBi36fLvR2j5z3kSzVtz6IhPdncQ==", + "dev": true + }, + "node_modules/object-to-arguments/node_modules/inspect-parameters-declaration": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/inspect-parameters-declaration/-/inspect-parameters-declaration-0.0.10.tgz", + "integrity": "sha512-L8/Bvt9iDXQTZ63xY5/MAyvzz+FagR/qGh1kIXvUpsno3AAE0Z95d6QO51zrcMGaEGpwh/57idfMxTxbvRmytg==", + "dev": true, + "dependencies": { + "magicli": "0.0.5", + "split-skip": "0.0.2", + "stringify-parameters": "0.0.4", + "unpack-string": "0.0.2" + }, + "bin": { + "inspect-parameters-declaration": "bin/cli.js" + } + }, + "node_modules/object-to-arguments/node_modules/magicli": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/magicli/-/magicli-0.0.5.tgz", + "integrity": "sha512-wZbMtnl2v1b+Jp3xlqA9FU/O4I6YhGXR8xSY/eU2+gDAvut/F+W3gl4qs61iL4LELC7jqSAE6aAD5668EbmQHA==", + "dev": true, + "dependencies": { + "commander": "^2.9.0", + "get-stdin": "^5.0.1", + "inspect-function": "^0.2.1", + "pipe-functions": "^1.2.0" + } + }, + "node_modules/ohmyfetch": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/ohmyfetch/-/ohmyfetch-0.4.19.tgz", + "integrity": "sha512-OH2xVeRPNsHkx+JFdq1ewe9EwVDfTrv6lsBHpIx8wIWXowP5FyLhhYVaXIVlPsW542rt7gmwK14FwIDWUXEO+Q==", + "dev": true, + "dependencies": { + "destr": "^1.1.1", + "node-fetch-native": "^0.1.5", + "ufo": "^0.8.5", + "undici": "^5.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/pipe-functions": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pipe-functions/-/pipe-functions-1.3.0.tgz", + "integrity": "sha512-6Rtbp7criZRwedlvWbUYxqlqJoAlMvYHo2UcRWq79xZ54vZcaNHpVBOcWkX3ErT2aUA69tv+uiv4zKJbhD/Wgg==", + "dev": true + }, + "node_modules/prebuild-install": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/reduce-flatten": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz", + "integrity": "sha512-j5WfFJfc9CoXv/WbwVLHq74i/hdTUpy+iNC534LxczMRP67vJeK3V9JOdnL0N1cIRbn9mYhE2yVjvvKXDxvNXQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.30.7", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.7.tgz", + "integrity": "sha512-G+MY2YW33jgflKPTXXptVO28HvNOo9G3j0MybYAHeEmby+QuD2U98dT6ueht9cv/XDqZspSpIhoSW+BAKJ7Hig==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.1", + "node-addon-api": "^5.0.0", + "prebuild-install": "^7.1.1", + "semver": "^7.3.7", + "simple-get": "^4.0.1", + "tar-fs": "^2.1.1", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=12.13.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/split-skip": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/split-skip/-/split-skip-0.0.2.tgz", + "integrity": "sha512-weHOi8BolsDnGIwhhWHbA+wKSuSpvWwjRrdj8SdbIIis2vSwOE37CQP8x3EleuzxanUr3AK8BdUy4MkiOULPZg==", + "dev": true + }, + "node_modules/sponsorkit": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/sponsorkit/-/sponsorkit-0.5.2.tgz", + "integrity": "sha512-pCNUdiO5BF1OBvJdiuN+Z9wlxVuqZMOO9wsegUwfkS7wqOMZ18XbH6SG7sr+cRiyi6h7JE4iyThFEBb9dm4Jnw==", + "dev": true, + "dependencies": { + "consola": "^2.15.3", + "dotenv": "^16.0.1", + "fs-extra": "^10.1.0", + "image-data-uri": "^2.0.1", + "ohmyfetch": "^0.4.18", + "picocolors": "^1.0.0", + "sharp": "^0.30.7", + "unconfig": "^0.3.5", + "yargs": "^17.5.1" + }, + "bin": { + "sponsorkit": "bin/sponsorkit.js" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-parameters": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stringify-parameters/-/stringify-parameters-0.0.4.tgz", + "integrity": "sha512-H3L90ERn5UPtkpO8eugnKcLgpIVlvTyUTrcLGm607AV5JDH6z0GymtNLr3gjGlP6I6NB/mxNX9QpY6jEQGLPdQ==", + "dev": true, + "dependencies": { + "magicli": "0.0.5", + "unpack-string": "0.0.2" + }, + "bin": { + "stringify-parameters": "bin/cli.js" + } + }, + "node_modules/stringify-parameters/node_modules/inspect-function": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/inspect-function/-/inspect-function-0.2.2.tgz", + "integrity": "sha512-becs5gzcHwPrlHawscYkyQ/ShiOiosrXPhA5RVZ3qyWH4aWdD52RnMfXq/dwQXciHwiieD8aIPwdIWYv6eL+sQ==", + "dev": true, + "dependencies": { + "split-skip": "0.0.1", + "unpack-string": "0.0.2" + } + }, + "node_modules/stringify-parameters/node_modules/magicli": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/magicli/-/magicli-0.0.5.tgz", + "integrity": "sha512-wZbMtnl2v1b+Jp3xlqA9FU/O4I6YhGXR8xSY/eU2+gDAvut/F+W3gl4qs61iL4LELC7jqSAE6aAD5668EbmQHA==", + "dev": true, + "dependencies": { + "commander": "^2.9.0", + "get-stdin": "^5.0.1", + "inspect-function": "^0.2.1", + "pipe-functions": "^1.2.0" + } + }, + "node_modules/stringify-parameters/node_modules/split-skip": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/split-skip/-/split-skip-0.0.1.tgz", + "integrity": "sha512-7dkvq+gofI4M8zx4iZnEZ3O1s7FP4Y/iaIDHJh5RyWrs8idcPauFi2OZe3TBi36fLvR2j5z3kSzVtz6IhPdncQ==", + "dev": true + }, + "node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/table-layout": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz", + "integrity": "sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==", + "dev": true, + "dependencies": { + "array-back": "^2.0.0", + "deep-extend": "~0.6.0", + "lodash.padend": "^4.6.1", + "typical": "^2.6.1", + "wordwrapjs": "^3.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "node_modules/typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==", + "dev": true + }, + "node_modules/ufo": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-0.8.5.tgz", + "integrity": "sha512-e4+UtA5IRO+ha6hYklwj6r7BjiGMxS0O+UaSg9HbaTefg4kMkzj4tXzEBajRR+wkxf+golgAWKzLbytCUDMJAA==", + "dev": true + }, + "node_modules/unconfig": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/unconfig/-/unconfig-0.3.6.tgz", + "integrity": "sha512-JWefWyjLrDAbzs30sFkzcE9YpvAhN9+UPMZBwnNUmaY9X7QhI+wCGP4hoEWfZDzvkP+WIaZDPcMUJjarpxFvKg==", + "dev": true, + "dependencies": { + "@antfu/utils": "^0.5.2", + "defu": "^6.1.0", + "jiti": "^1.14.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/undici": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.10.0.tgz", + "integrity": "sha512-c8HsD3IbwmjjbLvoZuRI26TZic+TSEe8FPMLLOkN1AfYRhdjnKBU6yL+IwcSCbdZiX4e5t0lfMDLDCqj4Sq70g==", + "dev": true, + "engines": { + "node": ">=12.18" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpack-string": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/unpack-string/-/unpack-string-0.0.2.tgz", + "integrity": "sha512-2ZFjp5aY7QwHE6HAp47RnKYfvgAQ5+NwbKq/ZVtty85RDb3/UaTeCfizo5L/fXzM7UkMP/zDtbV+kGW/iJiK6w==", + "dev": true + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/wordwrapjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz", + "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==", + "dev": true, + "dependencies": { + "reduce-flatten": "^1.0.1", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha512-WhzC+xgstid9MbVUktco/bf+KJG+Uu6vMX0LN1sLJvwmbCQVxb4D8LzogobonKycNasCZLdOzTAk1SK7+K7swg==", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + } + }, + "dependencies": { + "@antfu/utils": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.5.2.tgz", + "integrity": "sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-escape-sequences": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-4.1.0.tgz", + "integrity": "sha512-dzW9kHxH011uBsidTXd14JXgzye/YLb2LzeKZ4bsgl/Knwx8AtbSFkkGxagdNOoh0DlqHCmfiEjWKBaqjOanVw==", + "dev": true, + "requires": { + "array-back": "^3.0.1" + }, + "dependencies": { + "array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "dev": true + } + } + }, + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "dev": true, + "requires": { + "typical": "^2.6.1" + } + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "cliss": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/cliss/-/cliss-0.0.2.tgz", + "integrity": "sha512-6rj9pgdukjT994Md13JCUAgTk91abAKrygL9sAvmHY4F6AKMOV8ccGaxhUUfcBuyg3sundWnn3JE0Mc9W6ZYqw==", + "dev": true, + "requires": { + "command-line-usage": "^4.0.1", + "deepmerge": "^2.0.0", + "get-stdin": "^5.0.1", + "inspect-parameters-declaration": "0.0.9", + "object-to-arguments": "0.0.8", + "pipe-functions": "^1.3.0", + "strip-ansi": "^4.0.0", + "yargs-parser": "^7.0.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dev": true, + "requires": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "command-line-usage": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.1.0.tgz", + "integrity": "sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g==", + "dev": true, + "requires": { + "ansi-escape-sequences": "^4.0.0", + "array-back": "^2.0.0", + "table-layout": "^0.4.2", + "typical": "^2.6.1" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "requires": { + "mimic-response": "^3.1.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", + "dev": true + }, + "defu": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.0.tgz", + "integrity": "sha512-pOFYRTIhoKujrmbTRhcW5lYQLBXw/dlTwfI8IguF1QCDJOcJzNH1w+YFjxqy6BAuJrClTy6MUE8q+oKJ2FLsIw==", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "destr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/destr/-/destr-1.1.1.tgz", + "integrity": "sha512-QqkneF8LrYmwATMdnuD2MLI3GHQIcBnG6qFC2q9bSH430VTCDAVjcspPmUaKhPGtAtPAftIUFqY1obQYQuwmbg==", + "dev": true + }, + "detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "dev": true + }, + "dotenv": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz", + "integrity": "sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "dev": true + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "for-each-property": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/for-each-property/-/for-each-property-0.0.4.tgz", + "integrity": "sha512-xYs28PM0CKXETFzuGC6ZooH0voZlsSDZwidJcy92flQJi3PK7i3gZx23xHXCPOaD4zmet3bDo+wS7E7SujrlCw==", + "dev": true, + "requires": { + "get-prototype-chain": "^1.0.1" + } + }, + "for-each-property-deep": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/for-each-property-deep/-/for-each-property-deep-0.0.3.tgz", + "integrity": "sha512-qzP8QkODWVVRPpWiBZacSbBl67cTTWoBfxMG0wE46AsS1yl7qv05sGN+dHvD4s4tnvl/goe6Sp4qBI+rlVBgNg==", + "dev": true, + "requires": { + "for-each-property": "0.0.4" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-prototype-chain": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-prototype-chain/-/get-prototype-chain-1.0.1.tgz", + "integrity": "sha512-2m7WZ0jveIg/dAbCbpUxEToaJ8Dmti5EkgDP8YM3UpHUT6SAORjE2odP8XQGNVGXMHi8q8cCCoy3HTByTaTVTw==", + "dev": true + }, + "get-stdin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", + "integrity": "sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "image-data-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/image-data-uri/-/image-data-uri-2.0.1.tgz", + "integrity": "sha512-BZh721F2Q5TwBdwpiqrBrHEdj8daj8KuMZK/DOCyqQlz1CqFhhuZWbK5ZCUnAvFJr8LaKHTaWl9ja3/a3DC2Ew==", + "dev": true, + "requires": { + "fs-extra": "^0.26.7", + "magicli": "0.0.8", + "mime-types": "^2.1.18", + "request": "^2.88.0" + }, + "dependencies": { + "fs-extra": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", + "integrity": "sha512-waKu+1KumRhYv8D8gMRCKJGAMI9pRnPuEb1mvgYD0f7wBscg+h6bW4FDTmEZhB9VKxvoTtxW+Y7bnIlB7zja6Q==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + } + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "inspect-function": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/inspect-function/-/inspect-function-0.3.4.tgz", + "integrity": "sha512-s0RsbJqK/sNZ+U1mykGoTickog3ea1A9Qk4mXniogOBu4PgkkZ56elScO7QC/r8D94lhGmJ2NyDI1ipOA/uq/g==", + "dev": true, + "requires": { + "inspect-parameters-declaration": "0.0.8", + "magicli": "0.0.8", + "split-skip": "0.0.1", + "stringify-parameters": "0.0.4", + "unpack-string": "0.0.2" + }, + "dependencies": { + "inspect-function": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/inspect-function/-/inspect-function-0.2.2.tgz", + "integrity": "sha512-becs5gzcHwPrlHawscYkyQ/ShiOiosrXPhA5RVZ3qyWH4aWdD52RnMfXq/dwQXciHwiieD8aIPwdIWYv6eL+sQ==", + "dev": true, + "requires": { + "split-skip": "0.0.1", + "unpack-string": "0.0.2" + } + }, + "inspect-parameters-declaration": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/inspect-parameters-declaration/-/inspect-parameters-declaration-0.0.8.tgz", + "integrity": "sha512-W4QzN1LgFmasKOM+NoLlDd2OAZM3enNZlVUOXoGQKmYBDFgxoPDOyebF55ALaf8avyM9TavNwibXxg347RrzCg==", + "dev": true, + "requires": { + "magicli": "0.0.5", + "split-skip": "0.0.2", + "stringify-parameters": "0.0.4", + "unpack-string": "0.0.2" + }, + "dependencies": { + "magicli": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/magicli/-/magicli-0.0.5.tgz", + "integrity": "sha512-wZbMtnl2v1b+Jp3xlqA9FU/O4I6YhGXR8xSY/eU2+gDAvut/F+W3gl4qs61iL4LELC7jqSAE6aAD5668EbmQHA==", + "dev": true, + "requires": { + "commander": "^2.9.0", + "get-stdin": "^5.0.1", + "inspect-function": "^0.2.1", + "pipe-functions": "^1.2.0" + } + }, + "split-skip": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/split-skip/-/split-skip-0.0.2.tgz", + "integrity": "sha512-weHOi8BolsDnGIwhhWHbA+wKSuSpvWwjRrdj8SdbIIis2vSwOE37CQP8x3EleuzxanUr3AK8BdUy4MkiOULPZg==", + "dev": true + } + } + }, + "split-skip": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/split-skip/-/split-skip-0.0.1.tgz", + "integrity": "sha512-7dkvq+gofI4M8zx4iZnEZ3O1s7FP4Y/iaIDHJh5RyWrs8idcPauFi2OZe3TBi36fLvR2j5z3kSzVtz6IhPdncQ==", + "dev": true + } + } + }, + "inspect-parameters-declaration": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/inspect-parameters-declaration/-/inspect-parameters-declaration-0.0.9.tgz", + "integrity": "sha512-c3jrKKA1rwwrsjdGMAo2hFWV0vNe3/RKHxpE/OBt41LP3ynOVI1qmgxpZYK5SQu3jtWCyaho8L7AZzCjJ4mEUw==", + "dev": true, + "requires": { + "magicli": "0.0.5", + "split-skip": "0.0.2", + "stringify-parameters": "0.0.4", + "unpack-string": "0.0.2" + }, + "dependencies": { + "inspect-function": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/inspect-function/-/inspect-function-0.2.2.tgz", + "integrity": "sha512-becs5gzcHwPrlHawscYkyQ/ShiOiosrXPhA5RVZ3qyWH4aWdD52RnMfXq/dwQXciHwiieD8aIPwdIWYv6eL+sQ==", + "dev": true, + "requires": { + "split-skip": "0.0.1", + "unpack-string": "0.0.2" + }, + "dependencies": { + "split-skip": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/split-skip/-/split-skip-0.0.1.tgz", + "integrity": "sha512-7dkvq+gofI4M8zx4iZnEZ3O1s7FP4Y/iaIDHJh5RyWrs8idcPauFi2OZe3TBi36fLvR2j5z3kSzVtz6IhPdncQ==", + "dev": true + } + } + }, + "magicli": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/magicli/-/magicli-0.0.5.tgz", + "integrity": "sha512-wZbMtnl2v1b+Jp3xlqA9FU/O4I6YhGXR8xSY/eU2+gDAvut/F+W3gl4qs61iL4LELC7jqSAE6aAD5668EbmQHA==", + "dev": true, + "requires": { + "commander": "^2.9.0", + "get-stdin": "^5.0.1", + "inspect-function": "^0.2.1", + "pipe-functions": "^1.2.0" + } + } + } + }, + "inspect-property": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/inspect-property/-/inspect-property-0.0.6.tgz", + "integrity": "sha512-LgjHkRl9W6bj2n+kWrAOgvCYPTYt+LanE4rtd/vKNq6yEb+SvVV7UTLzoSPpDX6/U1cAz7VfqPr+lPAIz7wHaQ==", + "dev": true, + "requires": { + "for-each-property": "0.0.4", + "for-each-property-deep": "0.0.3", + "inspect-function": "^0.3.1" + } + }, + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "jiti": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.16.0.tgz", + "integrity": "sha512-L3BJStEf5NAqNuzrpfbN71dp43mYIcBUlCRea/vdyv5dW/AYa1d4bpelko4SHdY3I6eN9Wzyasxirj1/vv5kmg==", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash.padend": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", + "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "magicli": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/magicli/-/magicli-0.0.8.tgz", + "integrity": "sha512-x/eBenweAHF+DsYy172sK4doRxZl0yrJnfxhLJiN7H6hPM3Ya0PfI6uBZshZ3ScFFSQD7HXgBqMdbnXKEZsO1g==", + "dev": true, + "requires": { + "cliss": "0.0.2", + "find-up": "^2.1.0", + "for-each-property": "0.0.4", + "inspect-property": "0.0.6" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "dev": true + }, + "node-abi": { + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.24.0.tgz", + "integrity": "sha512-YPG3Co0luSu6GwOBsmIdGW6Wx0NyNDLg/hriIyDllVsNwnI6UeqaWShxC3lbH4LtEQUgoLP3XR1ndXiDAWvmRw==", + "dev": true, + "requires": { + "semver": "^7.3.5" + } + }, + "node-addon-api": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz", + "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==", + "dev": true + }, + "node-fetch-native": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-0.1.7.tgz", + "integrity": "sha512-hps7dFJM0IEF056JftDSSjWDAwW9v2clwHoUJiHyYgl+ojoqjKyWybljMlpTmlC1O+864qovNlRLyAIjRxu9Ag==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-to-arguments": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/object-to-arguments/-/object-to-arguments-0.0.8.tgz", + "integrity": "sha512-BfWfuAwuhdH1bhMG5EG90WE/eckkBhBvnke8eSEkCDXoLE9Jk5JwYGTbCx1ehGwV48HvBkn62VukPBdlMUOY9w==", + "dev": true, + "requires": { + "inspect-parameters-declaration": "0.0.10", + "magicli": "0.0.5", + "split-skip": "0.0.2", + "stringify-parameters": "0.0.4", + "unpack-string": "0.0.2" + }, + "dependencies": { + "inspect-function": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/inspect-function/-/inspect-function-0.2.2.tgz", + "integrity": "sha512-becs5gzcHwPrlHawscYkyQ/ShiOiosrXPhA5RVZ3qyWH4aWdD52RnMfXq/dwQXciHwiieD8aIPwdIWYv6eL+sQ==", + "dev": true, + "requires": { + "split-skip": "0.0.1", + "unpack-string": "0.0.2" + }, + "dependencies": { + "split-skip": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/split-skip/-/split-skip-0.0.1.tgz", + "integrity": "sha512-7dkvq+gofI4M8zx4iZnEZ3O1s7FP4Y/iaIDHJh5RyWrs8idcPauFi2OZe3TBi36fLvR2j5z3kSzVtz6IhPdncQ==", + "dev": true + } + } + }, + "inspect-parameters-declaration": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/inspect-parameters-declaration/-/inspect-parameters-declaration-0.0.10.tgz", + "integrity": "sha512-L8/Bvt9iDXQTZ63xY5/MAyvzz+FagR/qGh1kIXvUpsno3AAE0Z95d6QO51zrcMGaEGpwh/57idfMxTxbvRmytg==", + "dev": true, + "requires": { + "magicli": "0.0.5", + "split-skip": "0.0.2", + "stringify-parameters": "0.0.4", + "unpack-string": "0.0.2" + } + }, + "magicli": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/magicli/-/magicli-0.0.5.tgz", + "integrity": "sha512-wZbMtnl2v1b+Jp3xlqA9FU/O4I6YhGXR8xSY/eU2+gDAvut/F+W3gl4qs61iL4LELC7jqSAE6aAD5668EbmQHA==", + "dev": true, + "requires": { + "commander": "^2.9.0", + "get-stdin": "^5.0.1", + "inspect-function": "^0.2.1", + "pipe-functions": "^1.2.0" + } + } + } + }, + "ohmyfetch": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/ohmyfetch/-/ohmyfetch-0.4.19.tgz", + "integrity": "sha512-OH2xVeRPNsHkx+JFdq1ewe9EwVDfTrv6lsBHpIx8wIWXowP5FyLhhYVaXIVlPsW542rt7gmwK14FwIDWUXEO+Q==", + "dev": true, + "requires": { + "destr": "^1.1.1", + "node-fetch-native": "^0.1.5", + "ufo": "^0.8.5", + "undici": "^5.10.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "pipe-functions": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pipe-functions/-/pipe-functions-1.3.0.tgz", + "integrity": "sha512-6Rtbp7criZRwedlvWbUYxqlqJoAlMvYHo2UcRWq79xZ54vZcaNHpVBOcWkX3ErT2aUA69tv+uiv4zKJbhD/Wgg==", + "dev": true + }, + "prebuild-install": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "dev": true, + "requires": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + } + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "reduce-flatten": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz", + "integrity": "sha512-j5WfFJfc9CoXv/WbwVLHq74i/hdTUpy+iNC534LxczMRP67vJeK3V9JOdnL0N1cIRbn9mYhE2yVjvvKXDxvNXQ==", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "sharp": { + "version": "0.30.7", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.7.tgz", + "integrity": "sha512-G+MY2YW33jgflKPTXXptVO28HvNOo9G3j0MybYAHeEmby+QuD2U98dT6ueht9cv/XDqZspSpIhoSW+BAKJ7Hig==", + "dev": true, + "requires": { + "color": "^4.2.3", + "detect-libc": "^2.0.1", + "node-addon-api": "^5.0.0", + "prebuild-install": "^7.1.1", + "semver": "^7.3.7", + "simple-get": "^4.0.1", + "tar-fs": "^2.1.1", + "tunnel-agent": "^0.6.0" + } + }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true + }, + "simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "dev": true, + "requires": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + } + }, + "split-skip": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/split-skip/-/split-skip-0.0.2.tgz", + "integrity": "sha512-weHOi8BolsDnGIwhhWHbA+wKSuSpvWwjRrdj8SdbIIis2vSwOE37CQP8x3EleuzxanUr3AK8BdUy4MkiOULPZg==", + "dev": true + }, + "sponsorkit": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/sponsorkit/-/sponsorkit-0.5.2.tgz", + "integrity": "sha512-pCNUdiO5BF1OBvJdiuN+Z9wlxVuqZMOO9wsegUwfkS7wqOMZ18XbH6SG7sr+cRiyi6h7JE4iyThFEBb9dm4Jnw==", + "dev": true, + "requires": { + "consola": "^2.15.3", + "dotenv": "^16.0.1", + "fs-extra": "^10.1.0", + "image-data-uri": "^2.0.1", + "ohmyfetch": "^0.4.18", + "picocolors": "^1.0.0", + "sharp": "^0.30.7", + "unconfig": "^0.3.5", + "yargs": "^17.5.1" + } + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "stringify-parameters": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stringify-parameters/-/stringify-parameters-0.0.4.tgz", + "integrity": "sha512-H3L90ERn5UPtkpO8eugnKcLgpIVlvTyUTrcLGm607AV5JDH6z0GymtNLr3gjGlP6I6NB/mxNX9QpY6jEQGLPdQ==", + "dev": true, + "requires": { + "magicli": "0.0.5", + "unpack-string": "0.0.2" + }, + "dependencies": { + "inspect-function": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/inspect-function/-/inspect-function-0.2.2.tgz", + "integrity": "sha512-becs5gzcHwPrlHawscYkyQ/ShiOiosrXPhA5RVZ3qyWH4aWdD52RnMfXq/dwQXciHwiieD8aIPwdIWYv6eL+sQ==", + "dev": true, + "requires": { + "split-skip": "0.0.1", + "unpack-string": "0.0.2" + } + }, + "magicli": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/magicli/-/magicli-0.0.5.tgz", + "integrity": "sha512-wZbMtnl2v1b+Jp3xlqA9FU/O4I6YhGXR8xSY/eU2+gDAvut/F+W3gl4qs61iL4LELC7jqSAE6aAD5668EbmQHA==", + "dev": true, + "requires": { + "commander": "^2.9.0", + "get-stdin": "^5.0.1", + "inspect-function": "^0.2.1", + "pipe-functions": "^1.2.0" + } + }, + "split-skip": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/split-skip/-/split-skip-0.0.1.tgz", + "integrity": "sha512-7dkvq+gofI4M8zx4iZnEZ3O1s7FP4Y/iaIDHJh5RyWrs8idcPauFi2OZe3TBi36fLvR2j5z3kSzVtz6IhPdncQ==", + "dev": true + } + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true + }, + "table-layout": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz", + "integrity": "sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==", + "dev": true, + "requires": { + "array-back": "^2.0.0", + "deep-extend": "~0.6.0", + "lodash.padend": "^4.6.1", + "typical": "^2.6.1", + "wordwrapjs": "^3.0.0" + } + }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==", + "dev": true + }, + "ufo": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-0.8.5.tgz", + "integrity": "sha512-e4+UtA5IRO+ha6hYklwj6r7BjiGMxS0O+UaSg9HbaTefg4kMkzj4tXzEBajRR+wkxf+golgAWKzLbytCUDMJAA==", + "dev": true + }, + "unconfig": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/unconfig/-/unconfig-0.3.6.tgz", + "integrity": "sha512-JWefWyjLrDAbzs30sFkzcE9YpvAhN9+UPMZBwnNUmaY9X7QhI+wCGP4hoEWfZDzvkP+WIaZDPcMUJjarpxFvKg==", + "dev": true, + "requires": { + "@antfu/utils": "^0.5.2", + "defu": "^6.1.0", + "jiti": "^1.14.0" + } + }, + "undici": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.10.0.tgz", + "integrity": "sha512-c8HsD3IbwmjjbLvoZuRI26TZic+TSEe8FPMLLOkN1AfYRhdjnKBU6yL+IwcSCbdZiX4e5t0lfMDLDCqj4Sq70g==", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "unpack-string": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/unpack-string/-/unpack-string-0.0.2.tgz", + "integrity": "sha512-2ZFjp5aY7QwHE6HAp47RnKYfvgAQ5+NwbKq/ZVtty85RDb3/UaTeCfizo5L/fXzM7UkMP/zDtbV+kGW/iJiK6w==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "wordwrapjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz", + "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==", + "dev": true, + "requires": { + "reduce-flatten": "^1.0.1", + "typical": "^2.6.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "dependencies": { + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha512-WhzC+xgstid9MbVUktco/bf+KJG+Uu6vMX0LN1sLJvwmbCQVxb4D8LzogobonKycNasCZLdOzTAk1SK7+K7swg==", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } +} diff --git a/scripts/sponsors/package.json b/scripts/sponsors/package.json new file mode 100644 index 000000000..d6f25a773 --- /dev/null +++ b/scripts/sponsors/package.json @@ -0,0 +1,15 @@ +{ + "name": "scripts", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "sponsorkit": "^0.5.2" + } +} diff --git a/scripts/sponsors/sponsorkit.config.js b/scripts/sponsors/sponsorkit.config.js new file mode 100644 index 000000000..6596348d1 --- /dev/null +++ b/scripts/sponsors/sponsorkit.config.js @@ -0,0 +1,206 @@ +import {defineConfig} from 'sponsorkit'; + +const helpers = { + avatar: { + size: 45 + }, + boxWidth: 55, + boxHeight: 55, + container: { + sidePadding: 30 + }, +}; + +const coffee = { + avatar: { + size: 50 + }, + boxWidth: 65, + boxHeight: 65, + container: { + sidePadding: 30 + }, +}; + +const breakfast = { + avatar: { + size: 55 + }, + boxWidth: 75, + boxHeight: 75, + container: { + sidePadding: 20 + }, + name: { + maxLength: 10 + } +}; + +const costs = { + avatar: { + size: 65 + }, + boxWidth: 90, + boxHeight: 80, + container: { + sidePadding: 30 + }, + name: { + maxLength: 10 + } +}; + +const bronze = { + avatar: { + size: 85 + }, + boxWidth: 110, + boxHeight: 100, + container: { + sidePadding: 30 + }, + name: { + maxLength: 20 + } +}; + +const silver = { + avatar: { + size: 100 + }, + boxWidth: 110, + boxHeight: 110, + container: { + sidePadding: 20 + }, + name: { + maxLength: 20 + } +}; + +const gold = { + avatar: { + size: 150 + }, + boxWidth: 175, + boxHeight: 175, + container: { + sidePadding: 25 + }, + name: { + maxLength: 25 + } +}; + +const champion = { + avatar: { + size: 175 + }, + boxWidth: 200, + boxHeight: 200, + container: { + sidePadding: 30 + }, + name: { + maxLength: 30 + } +}; + +const partner = { + avatar: { + size: 200 + }, + boxWidth: 225, + boxHeight: 225, + container: { + sidePadding: 40 + }, + name: { + maxLength: 40 + }, + +}; + +export default defineConfig({ + github: { + login: 'leaanthony', + type: 'user', + }, + + // Rendering configs + width: 800, + formats: ['svg'], + tiers: [ + { + title: 'Helpers', + preset: helpers, + composeAfter: function (composer, tierSponsors, config) { + composer.addSpan(20); + } + }, + { + title: 'Buying Coffee', + monthlyDollars: 5, + preset: coffee, + composeAfter: function (composer, tierSponsors, config) { + composer.addSpan(20); + } + }, + { + title: 'Buying Breakfast', + monthlyDollars: 10, + preset: breakfast, + composeAfter: function (composer, tierSponsors, config) { + composer.addSpan(20); + } + }, + { + title: 'Covering Costs', + monthlyDollars: 20, + preset: costs, + composeAfter: function (composer, tierSponsors, config) { + composer.addSpan(20); + } + }, + { + title: 'Bronze Sponsors', + monthlyDollars: 50, + preset: bronze, + composeAfter: function (composer, tierSponsors, config) { + composer.addSpan(20); + } + }, + { + title: 'Silver Sponsors', + monthlyDollars: 100, + preset: silver, + composeAfter: function (composer, tierSponsors, config) { + composer.addSpan(20); + } + }, + { + title: 'Gold Sponsors', + monthlyDollars: 200, + preset: gold, + composeAfter: function (composer, tierSponsors, config) { + composer.addSpan(20); + } + }, + { + title: 'Champion', + monthlyDollars: 500, + preset: champion, + composeAfter: function (composer, tierSponsors, config) { + composer.addSpan(20); + } + }, + { + title: 'Partner', + monthlyDollars: 1000, + preset: partner, + composeAfter: function (composer, tierSponsors, config) { + composer.addSpan(20); + } + }, + ], +}); \ No newline at end of file diff --git a/v2/NOTES.md b/v2/NOTES.md deleted file mode 100644 index 16bac7122..000000000 --- a/v2/NOTES.md +++ /dev/null @@ -1,40 +0,0 @@ - -# Packing linux - - * create app, app.desktop, app.png (512x512) - * chmod +x app! - * ./linuxdeploy-x86_64.AppImage --appdir AppDir -i react.png -d react.desktop -e react --output appimage - - -# Wails Doctor - -Tested on: - - * Debian 8 - * Ubuntu 20.04 - * Ubuntu 19.10 - * Solus 4.1 - * Centos 8 - * Gentoo - * OpenSUSE/leap - * Fedora 31 - -### Development - -Add a new package manager processor here: `v2/internal/system/packagemanager/`. IsAvailable should work even if the package is installed. -Add your new package manager to the list of package managers in `v2/internal/system/packagemanager/packagemanager.go`: - -``` -var db = map[string]PackageManager{ - "eopkg": NewEopkg(), - "apt": NewApt(), - "yum": NewYum(), - "pacman": NewPacman(), - "emerge": NewEmerge(), - "zypper": NewZypper(), -} -``` - -## Gentoo - - * Setup docker image using: emerge-webrsync -x -v diff --git a/v2/README.md b/v2/README.md index 20ebb18b7..c69808f58 100644 --- a/v2/README.md +++ b/v2/README.md @@ -1,6 +1,238 @@ -# Wails v2 ALPHA +

+
+

-This branch contains WORK IN PROGRESS! There are no guarantees. Use at your peril! +

+ Build desktop applications using Go & Web Technologies. +
+
+ + GitHub + + + + + + Go Reference + + + CodeFactor + + + + + + Awesome + +
+ + Build + + + GitHub tag (latest SemVer pre-release) + +

-This document will be updated as progress is made. +
+ + +[English](README.md) · [简体中文](README.zh-Hans.md) · [日本語](README.ja.md) + + + +
+ +## Table of Contents + +
+ Click me to Open/Close the directory listing + +- [Table of Contents](#table-of-contents) +- [Introduction](#introduction) + - [Roadmap](#roadmap) +- [Features](#features) +- [Sponsors](#sponsors) +- [Getting Started](#getting-started) +- [FAQ](#faq) +- [Contributors](#contributors) +- [License](#license) + +
+ +## Introduction + +The traditional method of providing web interfaces to Go programs is via a built-in web server. Wails offers a different +approach: it provides the ability to wrap both Go code and a web frontend into a single binary. Tools are provided to +make this easy for you by handling project creation, compilation and bundling. All you have to do is get creative! + +## Features + +- Use standard Go for the backend +- Use any frontend technology you are already familiar with to build your UI +- Quickly create rich frontends for your Go programs using pre-built templates +- Easily call Go methods from Javascript +- Auto-generated Typescript definitions for your Go structs and methods +- Native Dialogs & Menus +- Native Dark / Light mode support +- Supports modern translucency and "frosted window" effects +- Unified eventing system between Go and Javascript +- Powerful cli tool to quickly generate and build your projects +- Multiplatform +- Uses native rendering engines - _no embedded browser_! + +### Roadmap + +The project roadmap may be found [here](https://github.com/wailsapp/wails/discussions/1484). Please consult +this before open up an enhancement request. + +## Sponsors + +This project is supported by these kind people / companies: + + + + + + + +
+
+ + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## Getting Started + +The installation instructions are on the [official website](https://wails.io/docs/gettingstarted/installation). + +## FAQ + +- Is this an alternative to Electron? + + Depends on your requirements. It's designed to make it easy for Go programmers to make lightweight desktop + applications or add a frontend to their existing applications. Wails does offer native elements such as menus + and dialogs, so it could be considered a lightweight electron alternative. + +- Who is this project aimed at? + + Go programmers who want to bundle an HTML/JS/CSS frontend with their applications, without resorting to creating a + server and opening a browser to view it. + +- What's with the name? + + When I saw WebView, I thought "What I really want is tooling around building a WebView app, a bit like Rails is to + Ruby". So initially it was a play on words (Webview on Rails). It just so happened to also be a homophone of the + English name for the [Country](https://en.wikipedia.org/wiki/Wales) I am from. So it stuck. + +## Stargazers over time + +[![Stargazers over time](https://starchart.cc/wailsapp/wails.svg)](https://starchart.cc/wailsapp/wails) + +## Contributors + +The contributors list is getting too big for the readme! All the amazing people who have contributed to this +project have their own page [here](https://wails.io/credits#contributors). + +## License + +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fwailsapp%2Fwails.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fwailsapp%2Fwails?ref=badge_large) + +## Inspiration + +This project was mainly coded to the following albums: + +- [Manic Street Preachers - Resistance Is Futile](https://open.spotify.com/album/1R2rsEUqXjIvAbzM0yHrxA) +- [Manic Street Preachers - This Is My Truth, Tell Me Yours](https://open.spotify.com/album/4VzCL9kjhgGQeKCiojK1YN) +- [The Midnight - Endless Summer](https://open.spotify.com/album/4Krg8zvprquh7TVn9OxZn8) +- [Gary Newman - Savage (Songs from a Broken World)](https://open.spotify.com/album/3kMfsD07Q32HRWKRrpcexr) +- [Steve Vai - Passion & Warfare](https://open.spotify.com/album/0oL0OhrE2rYVns4IGj8h2m) +- [Ben Howard - Every Kingdom](https://open.spotify.com/album/1nJsbWm3Yy2DW1KIc1OKle) +- [Ben Howard - Noonday Dream](https://open.spotify.com/album/6astw05cTiXEc2OvyByaPs) +- [Adwaith - Melyn](https://open.spotify.com/album/2vBE40Rp60tl7rNqIZjaXM) +- [Gwidaith Hen Fran - Cedors Hen Wrach](https://open.spotify.com/album/3v2hrfNGINPLuDP0YDTOjm) +- [Metallica - Metallica](https://open.spotify.com/album/2Kh43m04B1UkVcpcRa1Zug) +- [Bloc Party - Silent Alarm](https://open.spotify.com/album/6SsIdN05HQg2GwYLfXuzLB) +- [Maxthor - Another World](https://open.spotify.com/album/3tklE2Fgw1hCIUstIwPBJF) +- [Alun Tan Lan - Y Distawrwydd](https://open.spotify.com/album/0c32OywcLpdJCWWMC6vB8v) diff --git a/v2/cmd/wails/internal/commands/initialise/initialise.go b/v2/cmd/wails/internal/commands/initialise/initialise.go index b36102fcc..f5c56a1cb 100644 --- a/v2/cmd/wails/internal/commands/initialise/initialise.go +++ b/v2/cmd/wails/internal/commands/initialise/initialise.go @@ -1,8 +1,10 @@ package initialise import ( + "bufio" "fmt" "io" + "log" "os" "os/exec" "path/filepath" @@ -36,6 +38,10 @@ func AddSubcommand(app *clir.Cli, w io.Writer) error { projectName := "" command.StringFlag("n", "Name of project", &projectName) + // For CI + ciMode := false + command.BoolFlag("ci", "CI Mode", &ciMode).Hidden() + // Setup project directory projectDirectory := "" command.StringFlag("d", "Project directory", &projectDirectory) @@ -131,14 +137,14 @@ func AddSubcommand(app *clir.Cli, w io.Writer) error { // Try to discover author details from git config findAuthorDetails(options) - return initProject(options, quiet) + return initProject(options, quiet, ciMode) }) return nil } // initProject is our main init command -func initProject(options *templates.Options, quiet bool) error { +func initProject(options *templates.Options, quiet bool, ciMode bool) error { // Start Time start := time.Now() @@ -155,19 +161,34 @@ func initProject(options *templates.Options, quiet bool) error { return err } - // Run `go mod tidy` to ensure `go.sum` is up to date - cmd := exec.Command("go", "mod", "tidy") - cmd.Dir = options.TargetDir - cmd.Stderr = os.Stderr - if !quiet { - println("") - cmd.Stdout = os.Stdout - } - err = cmd.Run() + err = os.Chdir(options.TargetDir) if err != nil { return err } + if !ciMode { + // Run `go mod tidy` to ensure `go.sum` is up to date + cmd := exec.Command("go", "mod", "tidy") + cmd.Dir = options.TargetDir + cmd.Stderr = os.Stderr + if !quiet { + println("") + cmd.Stdout = os.Stdout + } + err = cmd.Run() + if err != nil { + return err + } + } else { + // Update go mod + workspace := os.Getenv("GITHUB_WORKSPACE") + println("GitHub workspace:", workspace) + if workspace == "" { + os.Exit(1) + } + updateReplaceLine(workspace) + } + if options.InitGit { err = initGit(options) if err != nil { @@ -243,3 +264,41 @@ func findAuthorDetails(options *templates.Options) { } } } + +func updateReplaceLine(targetPath string) { + file, err := os.Open("go.mod") + if err != nil { + log.Fatal(err) + } + + var lines []string + scanner := bufio.NewScanner(file) + for scanner.Scan() { + lines = append(lines, scanner.Text()) + } + + err = file.Close() + if err != nil { + log.Fatal(err) + } + + if err := scanner.Err(); err != nil { + log.Fatal(err) + } + + for i, line := range lines { + println(line) + if strings.HasPrefix(line, "// replace") { + println("Found replace line") + splitLine := strings.Split(line, " ") + splitLine[5] = targetPath + "/v2" + lines[i] = strings.Join(splitLine[1:], " ") + continue + } + } + + err = os.WriteFile("go.mod", []byte(strings.Join(lines, "\n")), 0644) + if err != nil { + log.Fatal(err) + } +} diff --git a/v2/cmd/wails/internal/version.txt b/v2/cmd/wails/internal/version.txt index acf7f0e9e..6eaf89433 100644 --- a/v2/cmd/wails/internal/version.txt +++ b/v2/cmd/wails/internal/version.txt @@ -1 +1 @@ -v2.0.0-rc.1.1 \ No newline at end of file +v2.0.0 \ No newline at end of file diff --git a/v2/internal/frontend/desktop/windows/win32/theme.go b/v2/internal/frontend/desktop/windows/win32/theme.go index 89aa9fc74..2effae5ad 100644 --- a/v2/internal/frontend/desktop/windows/win32/theme.go +++ b/v2/internal/frontend/desktop/windows/win32/theme.go @@ -17,14 +17,9 @@ const DwmwaSystemBackdropType DWMWINDOWATTRIBUTE = 38 const SPI_GETHIGHCONTRAST = 0x0042 const HCF_HIGHCONTRASTON = 0x00000001 +// BackdropType defines the type of translucency we wish to use type BackdropType int32 -const DwmsbtAuto BackdropType = 0 -const DwmsbtDisable = 1 // None -const DwmsbtMainWindow = 2 // Mica -const DwmsbtTransientWindow = 3 // Acrylic -const DwmsbtTabbedWindow = 4 // Tabbed - func dwmSetWindowAttribute(hwnd uintptr, dwAttribute DWMWINDOWATTRIBUTE, pvAttribute unsafe.Pointer, cbAttribute uintptr) { ret, _, err := procDwmSetWindowAttribute.Call( hwnd, @@ -46,10 +41,18 @@ func SupportsCustomThemes() bool { return IsWindowsVersionAtLeast(10, 0, 17763) } +func SupportsBackdropTypes() bool { + return IsWindowsVersionAtLeast(10, 0, 22621) +} + +func SupportsImmersiveDarkMode() bool { + return IsWindowsVersionAtLeast(10, 0, 18985) +} + func SetTheme(hwnd uintptr, useDarkMode bool) { - if IsWindowsVersionAtLeast(10, 0, 17763) { + if SupportsThemes() { attr := DwmwaUseImmersiveDarkModeBefore20h1 - if IsWindowsVersionAtLeast(10, 0, 18985) { + if SupportsImmersiveDarkMode() { attr = DwmwaUseImmersiveDarkMode } var winDark int32 @@ -61,10 +64,10 @@ func SetTheme(hwnd uintptr, useDarkMode bool) { } func EnableTranslucency(hwnd uintptr, backdrop BackdropType) { - if IsWindowsVersionAtLeast(10, 0, 22579) { + if SupportsBackdropTypes() { dwmSetWindowAttribute(hwnd, DwmwaSystemBackdropType, unsafe.Pointer(&backdrop), unsafe.Sizeof(backdrop)) } else { - println("Warning: Translucency unavailable on Windows < 22579") + println("Warning: Translucency type unavailable on Windows < 22621") } } diff --git a/v2/internal/frontend/desktop/windows/window.go b/v2/internal/frontend/desktop/windows/window.go index 0d12df60c..1b511d34f 100644 --- a/v2/internal/frontend/desktop/windows/window.go +++ b/v2/internal/frontend/desktop/windows/window.go @@ -105,11 +105,10 @@ func NewWindow(parent winc.Controller, appoptions *options.App, versionInfo *ope result.OnSuspend = appoptions.Windows.OnSuspend result.OnResume = appoptions.Windows.OnResume if appoptions.Windows.WindowIsTranslucent { - // TODO: Migrate to win32 package - if !win32.IsWindowsVersionAtLeast(10, 0, 22579) { + if !win32.SupportsBackdropTypes() { result.SetTranslucentBackground() } else { - win32.EnableTranslucency(result.Handle(), win32.BackdropType(appoptions.Windows.TranslucencyType)) + win32.EnableTranslucency(result.Handle(), win32.BackdropType(appoptions.Windows.BackdropType)) } } diff --git a/v2/pkg/options/windows/windows.go b/v2/pkg/options/windows/windows.go index 5c18d1737..95c446fd9 100644 --- a/v2/pkg/options/windows/windows.go +++ b/v2/pkg/options/windows/windows.go @@ -27,11 +27,11 @@ const ( type BackdropType int32 const ( - Auto BackdropType = 0 - Disable BackdropType = 1 // None - MainWindow BackdropType = 2 // Mica - TransientWindow BackdropType = 3 // Acrylic - TabbedWindow BackdropType = 4 // Tabbed + Auto BackdropType = 0 + None BackdropType = 1 + Mica BackdropType = 2 + Acrylic BackdropType = 3 + Tabbed BackdropType = 4 ) func RGB(r, g, b uint8) int32 { @@ -81,8 +81,8 @@ type Options struct { // Custom settings for dark/light mode CustomTheme *ThemeSettings - // Windows 11 22579 minimum - TranslucencyType BackdropType + // Select the type of translucent backdrop. Requires Windows 11 22621 or later. + BackdropType BackdropType // User messages that can be customised Messages *Messages diff --git a/v2/tools/release/release.go b/v2/tools/release/release.go index e372ec36b..bf558130f 100644 --- a/v2/tools/release/release.go +++ b/v2/tools/release/release.go @@ -47,6 +47,8 @@ func main() { var newVersion string if len(os.Args) > 1 { newVersion = os.Args[1] + err := os.WriteFile(versionFile, []byte(newVersion), 0755) + checkError(err) } else { newVersion = updateVersion() } diff --git a/website/.prettierrc b/website/.prettierrc deleted file mode 100644 index 9c1c6d2d4..000000000 --- a/website/.prettierrc +++ /dev/null @@ -1,22 +0,0 @@ -{ - "arrowParens": "always", - "bracketSpacing": true, - "endOfLine": "lf", - "htmlWhitespaceSensitivity": "css", - "insertPragma": false, - "singleAttributePerLine": false, - "bracketSameLine": false, - "jsxBracketSameLine": false, - "jsxSingleQuote": false, - "printWidth": 80, - "proseWrap": "preserve", - "quoteProps": "as-needed", - "requirePragma": false, - "semi": true, - "singleQuote": false, - "tabWidth": 2, - "trailingComma": "es5", - "useTabs": false, - "vueIndentScriptAndStyle": false, - "parser": "mdx" -} diff --git a/website/README.md b/website/README.md index aaba2fa1e..5194c28d2 100644 --- a/website/README.md +++ b/website/README.md @@ -5,17 +5,45 @@ This website is built using [Docusaurus 2](https://docusaurus.io/), a modern sta ### Installation ``` -$ yarn +$ npm ``` ### Local Development ``` -$ yarn start +$ npm run start ``` +Other languages: + +``` +npm run start -- --locale +``` + +language - The language code configured in the i18n field in the docusaurus.config.js file. + This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. +### Translate + +After the English source file is updated, run the following command to submit the source file to Crowdin: + +``` +npm run crowdin push -- -b +``` + +branch - Branch name in crowdin project + +Run the following command to pull the translated files in crowdin to the local: + +``` +npm run crowdin pull -- -b -l +``` + +languageCode - **Note** that this refers to the language code in the crowdin project. + +The recommended practice is to update the English source file locally, then translate the file in crowdin, and finally pull the translated file to the local. + ### Build ``` @@ -23,19 +51,3 @@ $ yarn build ``` This command generates static content into the `build` directory and can be served using any static contents hosting service. - -### Deployment - -Using SSH: - -``` -$ USE_SSH=true yarn deploy -``` - -Not using SSH: - -``` -$ GIT_USER= yarn deploy -``` - -If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/website/babel.config.js b/website/babel.config.js index e00595dae..bfd75dbdf 100644 --- a/website/babel.config.js +++ b/website/babel.config.js @@ -1,3 +1,3 @@ module.exports = { - presets: [require.resolve('@docusaurus/core/lib/babel/preset')], + presets: [require.resolve("@docusaurus/core/lib/babel/preset")], }; diff --git a/website/blog/2021-09-27-v2-beta1-release-notes.mdx b/website/blog/2021-09-27-v2-beta1-release-notes.mdx index 413a3be01..989ac2c2c 100644 --- a/website/blog/2021-09-27-v2-beta1-release-notes.mdx +++ b/website/blog/2021-09-27-v2-beta1-release-notes.mdx @@ -197,7 +197,7 @@ months ago. I also need to give a huge thank you :pray: to the following people because without them, this release just wouldn't exist: -- [Misitebao](https://github.com/misitebao) - An absolute workhorse on the Chinese translations and an incredible bug finder. +- [Misite Bao](https://github.com/misitebao) - An absolute workhorse on the Chinese translations and an incredible bug finder. - [John Chadwick](https://github.com/jchv) - His amazing work on [go-webview2](https://github.com/jchv/go-webview2) and [go-winloader](https://github.com/jchv/go-winloader) have made the Windows version we have today possible. - [Tad Vizbaras](https://github.com/tadvi) - Experimenting with his [winc](https://github.com/tadvi/winc) project was the first step down the path to a pure Go Wails. diff --git a/website/blog/2022-09-22-v2-release-notes.mdx b/website/blog/2022-09-22-v2-release-notes.mdx new file mode 100644 index 000000000..0cfdfb094 --- /dev/null +++ b/website/blog/2022-09-22-v2-release-notes.mdx @@ -0,0 +1,97 @@ +--- +slug: wails-v2-released +title: Wails v2 Released +authors: [leaanthony] +tags: [wails, v2] +--- + +```mdx-code-block +
+ +
+
+``` + +# It's here! + +Today marks the release of [Wails](https://wails.io) v2. It's been about 18 months since the first v2 alpha and about a year from the first beta release. I'm truly grateful to everyone involved in the evolution of the project. + +Part of the reason it took that long was due to wanting to get to some definition of completeness before officially calling it v2. The truth is, there's never a perfect time to tag a release - there's always outstanding issues or "just one more" feature to squeeze in. What tagging an imperfect major release does do, however, is to provide a bit of stability for users of the project, as well as a bit of a reset for the developers. + +This release is more than I'd ever expected it to be. I hope it gives you as much pleasure as it has given us to develop it. + +# What _is_ Wails? + +If you are unfamiliar with Wails, it is a project that enables Go programmers to provide rich frontends for their Go programs using familiar web technologies. It's a lightweight, Go alternative to Electron. Much more information can be found on the [official site](https://wails.io/docs/introduction). + +# What's new? + +The v2 release is a huge leap forward for the project, addressing many of the pain points of v1. If you have not read any of the blog posts on the Beta releases for [macOS](/blog/wails-v2-beta-for-mac), [Windows](/blog/wails-v2-beta-for-windows) or [Linux](/blog/wails-v2-beta-for-linux), then I encourage you to do so +as it covers all the major changes in more detail. In summary: + +- Webview2 component for Windows that supports modern web standards and debugging capabilities. +- [Dark / Light theme](/docs/reference/options#theme) + [custom theming](/docs/reference/options#customtheme) on Windows. +- Windows now has no CGO requirements. +- Out-of-the-box support for Svelte, Vue, React, Preact, Lit & Vanilla project templates. +- [Vite](https://vitejs.dev/) integration providing a hot-reload development environment for your application. +- Native application [menus](/docs/guides/application-development#application-menu) and [dialogs](/docs/reference/runtime/dialog). +- Native window translucency effects for [Windows](/docs/reference/options#windowistranslucent) and [macOS](/docs/reference/options#windowistranslucent-1). Support for Mica & Acrylic backdrops. +- Easily generate an [NSIS installer](/docs/guides/windows-installer) for Windows deployments. +- A rich [runtime library](/docs/reference/runtime/intro) providing utility methods for window manipulation, eventing, dialogs, menus and logging. +- Support for [obfuscating](/docs/guides/obfuscated) your application using [garble](https://github.com/burrowers/garble). +- Support for compressing your application using [UPX](https://upx.github.io/). +- Automatic Typescript generation of Go structs. More info [here](/docs/howdoesitwork#calling-bound-go-methods). +- No extra libraries or DLLs are required to be shipped with your application. For any platform. +- No requirement to bundle frontend assets. Just develop your application like any other web application. + +# Credit & Thanks + +Getting to v2 has been a huge effort. There have been ~2.2K commits by 89 contributors between the initial alpha and the release today, and many, many more that have provided translations, testing, feedback and help on the discussion forums as well as the issue tracker. I'm so unbelievably grateful to each one of you. I'd also like to give an extra special thank you to all the project sponsors who have provided guidance, advice and feedback. Everything you do is hugely appreciated. + +There are a few people I'd like to give special mention to: + +Firstly, a **huge** thank you to [@stffabi](https://github.com/stffabi) who has provided so many contributions which we all benefit from, as well as providing a lot of support on many issues. He has provided some key features such as the external dev server support which transformed our dev mode offering by allowing us to hook into [Vite](https://vitejs.dev/)'s superpowers. It's fair to say that Wails v2 would be a far less exciting release without his [incredible contributions](https://github.com/wailsapp/wails/commits?author=stffabi&since=2020-01-04). Thank you so much @stffabi! + +I'd also like to give a huge shout-out to [@misitebao](https://github.com/misitebao) who has tirelessly been maintaining the website, as well as providing Chinese translations, managing Crowdin and helping new translators get up to speed. This is a hugely important task, and I'm extremely grateful for all the time and effort put into this! You rock! + +Last, but not least, a huge thank you to Mat Ryer who has provided advice and support during the development of v2. Writing xBar together using an early Alpha of v2 was helpful in shaping the direction of v2, as well as give me an understanding of some design flaws in the early releases. I'm happy to announce that as of today, we will start to port xBar to Wails v2, and it will become the flagship application for the project. Cheers Mat! + +# Lessons Learnt + +There are a number of lessons learnt in getting to v2 that will shape development moving forward. + +## Smaller, Quicker, Focused Releases + +In the course of developing v2, there were many features and bug fixes that were developed on an ad-hoc basis. This led to longer release cycles and were harder to debug. Moving forward, we are going to create releases more often that will include a reduced number of features. A release will involve updates to documentation as well as thorough testing. Hopefully, these smaller, quicker, focussed releases will lead to fewer regressions and better quality documentation. + +## Encourage Engagement + +When starting this project, I wanted to immediately help everyone who had a problem. Issues were "personal" and I wanted them resolved as quickly as possible. This is unsustainable and ultimately works against the longevity of the project. Moving forward, I will be giving more space for people to get involved in answering questions and triaging issues. It would be good to get some tooling to help with this so if you have any suggestions, please join in the discussion [here](https://github.com/wailsapp/wails/discussions/1855). + +## Learning to say No + +The more people that engage with an Open Source project, the more requests there will be for additional features that may or may not be useful to the majority of people. These features will take an initial amount of time to develop and debug, and incur an ongoing maintenance cost from that point on. I myself am the most guilty of this, often wanting to "boil the sea" rather than provide the minimum viable feature. Moving forward, we will need to say "No" a bit more to adding core features and focus our energies on a way to empower developers to provide that functionality themselves. We are looking seriously into plugins for this scenario. This will allow anyone to extend the project as they see fit, as well as providing an easy way to contribute towards the project. + +# Looking to the Future + +There are so many core features we are looking at to add to Wails in the next major development cycle already. The [roadmap](https://github.com/wailsapp/wails/discussions/1484) is full of interesting ideas, and I'm keen to start work on them. One of the big asks has been for multiple window support. It's a tricky one and to do it right, and we may need to look at providing an alternative API, as the current one was not designed with this in mind. Based on some preliminary ideas and feedback, I think you'll like where we're looking to go with it. + +I'm personally very excited at the prospect of getting Wails apps running on mobile. We already have a demo project showing that it is possible to run a Wails app on Android, so I'm really keen to explore where we can go with this! + +A final point I'd like to raise is that of feature parity. It has long been a core principle that we wouldn't add anything to the project without there being full cross-platform support for it. Whilst this has proven to be (mainly) achievable so far, it has really held the project back in releasing new features. Moving forward, we will be adopting a slightly different approach: any new feature that cannot be immediately released for all platforms will be released under an experimental configuration or API. This allows early adopters on certain platforms to try the feature and provide feedback that will feed into the final design of the feature. This, of course, means that there are no guarantees of API stability until it is fully supported by all the platforms it can be supported on, but at least it will unblock development. + +# Final Words + +I'm really proud of what we've been able to achieve with the V2 release. It's amazing to see what people have already been able to build using the beta releases so far. Quality applications like [Varly](https://varly.app/), [Surge](https://getsurge.io/) and [October](https://october.utf9k.net/). I encourage you to check them out. + +This release was achieved through the hard work of many contributors. Whilst it is free to download and use, it has not come about through zero cost. Make no mistakes, this project has come at considerable cost. It has not only been my time and the time of each and every contributor, but also the cost of absence from friends and families of each of those people too. That's why I'm extremely grateful for every second that has been dedicated to making this project happen. The more contributors we have, the more this effort can be spread out and the more we can achieve together. I'd like to encourage you all to pick one thing that you can contribute, whether it is confirming someone's bug, suggesting a fix, making a documentation change or helping out someone who needs it. All of these small things have such a huge impact! It would be so awesome if you too were part of the story in getting to v3. + +Enjoy! + +‐ Lea + +PS: If you or your company find Wails useful, please consider [sponsoring the project](https://github.com/sponsors/leaanthony). Thanks! diff --git a/website/docs/gettingstarted/development.mdx b/website/docs/gettingstarted/development.mdx index 54dda5faa..a0075ef69 100644 --- a/website/docs/gettingstarted/development.mdx +++ b/website/docs/gettingstarted/development.mdx @@ -8,7 +8,7 @@ You can run your application in development mode by running `wails dev` from you - Build your application and run it - Bind your Go code to the frontend so it can be called from Javascript -- Using the power of [vite](https://vitejs.dev/), will watch for modifications in your Go files and rebuild/re-run on change +- Using the power of [Vite](https://vitejs.dev/), will watch for modifications in your Go files and rebuild/re-run on change - Sets up a [webserver](http://localhost:34115) that will serve your application over a browser. This allows you to use your favourite browser extensions. You can even call your Go code from the console To get started, run `wails dev` in the project directory. More information on this can be found [here](../reference/cli.mdx#dev). diff --git a/website/docs/gettingstarted/installation.mdx b/website/docs/gettingstarted/installation.mdx index 70ef0ded5..2bd3c8f9c 100644 --- a/website/docs/gettingstarted/installation.mdx +++ b/website/docs/gettingstarted/installation.mdx @@ -20,7 +20,7 @@ Wails has a number of common dependencies that are required before installation: ### Go -Download Go from the [Go Downloads Page](https://go.dev/doc/install). +Download Go from the [Go Downloads Page](https://go.dev/dl/). Ensure that you follow the official [Go installation instructions](https://go.dev/doc/install). You will also need to ensure that your `PATH` environment variable also includes the path to your `~/go/bin` directory. Restart your terminal and do the following checks: diff --git a/website/docs/guides/obfuscated.mdx b/website/docs/guides/obfuscated.mdx index 142a3203d..c062d0f46 100644 --- a/website/docs/guides/obfuscated.mdx +++ b/website/docs/guides/obfuscated.mdx @@ -14,7 +14,7 @@ To customise the obfuscation settings, you can use the `-garbleargs` flag: wails build -obfuscate -garbleargs "-literals -tiny -seed=myrandomseed" ``` -These settings may be persisted in your [project config](/guides/reference/project-config). +These settings may be persisted in your [project config](../reference/project-config). ## How it works diff --git a/website/docs/howdoesitwork.mdx b/website/docs/howdoesitwork.mdx index b292dcc35..717e8e2d2 100644 --- a/website/docs/howdoesitwork.mdx +++ b/website/docs/howdoesitwork.mdx @@ -12,7 +12,7 @@ Javascript methods that can be called, just as if they were local Javascript met ```mdx-code-block
- +
``` diff --git a/website/docs/introduction.mdx b/website/docs/introduction.mdx index 5e463f876..5fc62f170 100644 --- a/website/docs/introduction.mdx +++ b/website/docs/introduction.mdx @@ -19,7 +19,7 @@ and power of Go, combined with a rich, modern frontend. - No CGO or external DLLs required on Windows - Live development mode using the power of [Vite](https://vitejs.dev/) - Powerful CLI to easily Create, Build and Package applications -- A rich [runtime library](/docs/next/reference/runtime/intro) +- A rich [runtime library](/docs/reference/runtime/intro) - Applications built with Wails are Apple & Microsoft Store compliant This is [varly](https://varly.app) - a desktop application for @@ -29,7 +29,10 @@ you'd expect from a modern native app. ```mdx-code-block

- +

``` diff --git a/website/docs/reference/cli.mdx b/website/docs/reference/cli.mdx index 0e0687c53..7f5b33514 100644 --- a/website/docs/reference/cli.mdx +++ b/website/docs/reference/cli.mdx @@ -53,7 +53,7 @@ If you are unsure about a template, inspect `package.json` and `wails.json` for `wails build` is used for compiling your project to a production-ready binary. | Flag | Description | Default | -| :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------- | +|:---------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------| | -platform | Build for the given (comma delimited) [platforms](../reference/cli.mdx#platforms) eg. `windows/arm64`. Note, if you do not give the architecture, `runtime.GOARCH` is used. | platform = `GOOS` environment variable if given else `runtime.GOOS`.
arch = `GOARCH` envrionment variable if given else `runtime.GOARCH`. | | -clean | Cleans the `build/bin` directory | | | -compiler "compiler" | Use a different go compiler to build, eg go1.15beta1 | go | @@ -71,7 +71,9 @@ If you are unsure about a template, inspect `package.json` and `wails.json` for | -debug | Retains debug information in the application. Allows the use of the devtools in the application window | false | | -trimpath | Remove all file system paths from the resulting executable. | false | | -race | Build with Go's race detector | false | -| -windowsconsole | Keep the console window for Windows builds | false | +| -windowsconsole | Keep the console window for Windows builds | | +| -obfuscate | Obfuscate the application using [garble](https://github.com/burrowers/garble) | false | +| -garbleargs | Arguments to pass to garble | `-literals -tiny -seed=random` | For a detailed description of the `webview2` flag, please refer to the [Windows](../guides/windows.mdx) Guide. diff --git a/website/docs/reference/options.mdx b/website/docs/reference/options.mdx index 039f6a92c..72cc5f358 100644 --- a/website/docs/reference/options.mdx +++ b/website/docs/reference/options.mdx @@ -48,6 +48,7 @@ func main() { Windows: &windows.Options{ WebviewIsTransparent: false, WindowIsTranslucent: false, + BackdropType: windows.Mica, DisableWindowIcon: false, DisableFramelessWindowDecorations: false, WebviewUserDataPath: "", @@ -63,6 +64,10 @@ func main() { }, // User messages that can be customised Messages *windows.Messages + // OnSuspend is called when Windows enters low power mode + OnSuspend func() + // OnResume is called when Windows resumes from low power mode + OnResume func() }, Mac: &mac.Options{ TitleBar: &mac.TitleBar{ @@ -364,7 +369,7 @@ Type: `[]interface{}` ### Windows -This defines [Windows specific options](#windows-specific-options). +This defines [Windows specific options](#windows). Name: Windows
Type: `*windows.Options` @@ -381,11 +386,39 @@ Type: `bool` #### WindowIsTranslucent Setting this to `true` will make the window background translucent. Often combined -with [WebviewIsTransparent](#WebviewIsTransparent) to make frosty-looking applications. +with [WebviewIsTransparent](#WebviewIsTransparent). + +For Windows 11 versions before build 22621, this will use the [BlurBehind](https://learn.microsoft.com/en-us/windows/win32/dwm/blur-ovw) +method for translucency, which can be slow. For Windows 11 versions after build 22621, this will enable the +newer translucency types that are much faster. By default, the type of translucency used will be determined +by Windows. To configure this, use the [BackdropType](#BackdropType) option. Name: WindowIsTranslucent
Type: `bool` +#### BackdropType + +:::note + +Requires Windows 11 build 22621 or later. + +::: + +Sets the translucency type of the window. This is only applicable if [WindowIsTranslucent](#WindowIsTranslucent) is set to `true`. + +Name: BackdropType
+Type `windows.BackdropType` + +The value can be one of the following: + +| Value | Description | +|---------|-------------------------------------------------------------------------------------------| +| Auto | Let Windows decide which backdrop to use | +| None | Do not use translucency | +| Acrylic | Use [Acrylic](https://learn.microsoft.com/en-us/windows/apps/design/style/acrylic) effect | +| Mica | Use [Mica](https://learn.microsoft.com/en-us/windows/apps/design/style/mica) effect | +| Tabbed | Use Tabbed. This is a backdrop that is similar to Mica. | + #### DisableWindowIcon Setting this to `true` will remove the icon in the top left corner of the title bar. @@ -515,21 +548,21 @@ Type: `uint16` #### OnSuspend -If set, this function will be called when windows initiates a switch to low power mode (suspend/hibernate) +If set, this function will be called when Windows initiates a switch to low power mode (suspend/hibernate) Name: OnSuspend
Type: `func()` #### OnResume -If set, this function will be called when windows resumes from low power mode (suspend/hibernate) +If set, this function will be called when Windows resumes from low power mode (suspend/hibernate) Name: OnResume
Type: `func()` ### Mac -This defines [Mac specific options](#mac-specific-options). +This defines [Mac specific options](#mac). Name: Mac
Type: `*mac.Options` @@ -695,7 +728,7 @@ When clicked, that will open an about message box: ### Linux -This defines [Linux specific options](#linux-specific-options). +This defines [Linux specific options](#linux). Name: Linux
Type: `*linux.Options` diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index e86c3550b..293c88c4d 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -18,7 +18,7 @@ const config = { i18n: { defaultLocale: "en", - locales: ["en", "zh-Hans", "ja", "ru", "ko"], + locales: ["en", "zh-Hans", "ja"], localeConfigs: { en: { label: "English", @@ -217,7 +217,7 @@ const config = { ], }, ], - copyright: `Copyright © ${new Date().getFullYear()} Lea Anthony. Built with Docusaurus.`, + copyright: `Copyright © ${new Date().getFullYear()} Lea Anthony`, }, tableOfContents: { minHeadingLevel: 2, @@ -232,13 +232,6 @@ const config = { disableSwitch: false, respectPrefersColorScheme: true, }, - announcementBar: { - id: "announcement-bar", - content: "Wails v2 is currently in Beta", - backgroundColor: "#b00", - textColor: "#FFF", - isCloseable: false, - }, algolia: { appId: "AWTCNFZ4FF", apiKey: "a6c0adbe611ee2535f3da5e8fd7b2200", diff --git a/website/i18n/en/code.json b/website/i18n/en/code.json index 213608c31..2d8a7ac6c 100644 --- a/website/i18n/en/code.json +++ b/website/i18n/en/code.json @@ -3,7 +3,7 @@ "message": "Feature Rich" }, "homepage.Features.Description1": { - "message": "Build comprehensive cross-platform applications using native UI elements such as menus, dialogs, etc." + "message": "Build comprehensive cross-platform applications using native UI elements such as menus and dialogs." }, "homepage.Features.Title2": { "message": "Familiar" diff --git a/website/i18n/en/docusaurus-plugin-content-docs/version-v2.0.0-beta.44.json b/website/i18n/en/docusaurus-plugin-content-docs/version-v2.0.0-beta.44.json deleted file mode 100644 index b6f38500b..000000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/version-v2.0.0-beta.44.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "version.label": { - "message": "v2.0.0-beta.44", - "description": "The label for version v2.0.0-beta.44" - }, - "sidebar.tutorialSidebar.category.Getting Started": { - "message": "Getting Started", - "description": "The label for category Getting Started in sidebar tutorialSidebar" - }, - "sidebar.tutorialSidebar.category.Reference": { - "message": "Reference", - "description": "The label for category Reference in sidebar tutorialSidebar" - }, - "sidebar.tutorialSidebar.category.Runtime": { - "message": "Runtime", - "description": "The label for category Runtime in sidebar tutorialSidebar" - }, - "sidebar.tutorialSidebar.category.Community": { - "message": "Community", - "description": "The label for category Community in sidebar tutorialSidebar" - }, - "sidebar.tutorialSidebar.category.Showcase": { - "message": "Showcase", - "description": "The label for category Showcase in sidebar tutorialSidebar" - }, - "sidebar.tutorialSidebar.category.Guides": { - "message": "Guides", - "description": "The label for category Guides in sidebar tutorialSidebar" - }, - "sidebar.tutorialSidebar.category.Tutorials": { - "message": "Tutorials", - "description": "The label for category Tutorials in sidebar tutorialSidebar" - }, - "sidebar.tutorialSidebar.category.Contributing": { - "message": "Contributing", - "description": "The label for category Contributing in sidebar tutorialSidebar" - } -} diff --git a/website/i18n/en/docusaurus-plugin-content-docs/version-v2.0.0.json b/website/i18n/en/docusaurus-plugin-content-docs/version-v2.0.0.json new file mode 100644 index 000000000..421c838e6 --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/version-v2.0.0.json @@ -0,0 +1,38 @@ +{ + "version.label": { + "message": "v2.0.0", + "description": "The label for version v2.0.0" + }, + "sidebar.docs.category.Getting Started": { + "message": "Getting Started", + "description": "The label for category Getting Started in sidebar docs" + }, + "sidebar.docs.category.Reference": { + "message": "Reference", + "description": "The label for category Reference in sidebar docs" + }, + "sidebar.docs.category.Runtime": { + "message": "Runtime", + "description": "The label for category Runtime in sidebar docs" + }, + "sidebar.docs.category.Community": { + "message": "Community", + "description": "The label for category Community in sidebar docs" + }, + "sidebar.docs.category.Showcase": { + "message": "Showcase", + "description": "The label for category Showcase in sidebar docs" + }, + "sidebar.docs.category.Guides": { + "message": "Guides", + "description": "The label for category Guides in sidebar docs" + }, + "sidebar.docs.category.Tutorials": { + "message": "Tutorials", + "description": "The label for category Tutorials in sidebar docs" + }, + "sidebar.docs.link.Contributing": { + "message": "Contributing", + "description": "The label for link Contributing in sidebar docs, linking to /community-guide#ways-of-contributing" + } +} diff --git a/website/i18n/en/docusaurus-theme-classic/footer.json b/website/i18n/en/docusaurus-theme-classic/footer.json index bc52f458e..e29b42373 100644 --- a/website/i18n/en/docusaurus-theme-classic/footer.json +++ b/website/i18n/en/docusaurus-theme-classic/footer.json @@ -44,7 +44,7 @@ "description": "The label of footer link with label=Blog linking to /blog" }, "copyright": { - "message": "Copyright © 2022 Lea Anthony. Built with Docusaurus.", + "message": "Copyright © 2022 Lea Anthony", "description": "The footer copyright" }, "link.item.label.Awesome": { diff --git a/website/i18n/ja/code.json b/website/i18n/ja/code.json index 48ebc03f0..91db7b3fa 100644 --- a/website/i18n/ja/code.json +++ b/website/i18n/ja/code.json @@ -3,7 +3,7 @@ "message": "豊富な機能" }, "homepage.Features.Description1": { - "message": "メニューやダイアログなどのネイティブUI要素を使用して、クロスプラットフォームアプリを構築しましょう。" + "message": "Build comprehensive cross-platform applications using native UI elements such as menus and dialogs." }, "homepage.Features.Title2": { "message": "使い慣れた技術" diff --git a/website/i18n/ja/docusaurus-plugin-content-blog/2021-09-27-v2-beta1-release-notes.mdx b/website/i18n/ja/docusaurus-plugin-content-blog/2021-09-27-v2-beta1-release-notes.mdx index 773f6dd6c..cab9b938b 100644 --- a/website/i18n/ja/docusaurus-plugin-content-blog/2021-09-27-v2-beta1-release-notes.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-blog/2021-09-27-v2-beta1-release-notes.mdx @@ -8,6 +8,7 @@ tags: - v2 --- +```mdx-code-block
-
+``` When I first announced Wails on Reddit, just over 2 years ago from a train in Sydney, I did not expect it to get much attention. A few days later, a prolific tech vlogger released a tutorial video, gave it a positive review and from that point on, interest in the project has skyrocketed. @@ -32,6 +33,7 @@ No, I'm not joking: *No* *CGO* *dependency* 🤯! The thing about Windows is tha ### WebView2 Chromium Renderer +```mdx-code-block
-
+``` Finally, Windows developers get a first class rendering engine for their applications! Gone are the days of contorting your frontend code to work on Windows. On top of that, you get a first-class developer tools experience! @@ -52,6 +54,7 @@ Gophers rejoice! The single binary dream lives on! ### New Features +```mdx-code-block
-
+``` There were a lot of requests for native menu support. Wails has finally got you covered. Application menus are now available and include support for most native menu features. This includes standard menu items, checkboxes, radio groups, submenus and separators. @@ -68,6 +71,7 @@ There were a huge number of requests in v1 for the ability to have greater contr There is now the option to generate IDE configuration along with your project. This means that if you open your project in a supported IDE, it will already be configured for building and debugging your application. Currently VSCode is supported but we hope to support other IDEs such as Goland soon. +```mdx-code-block
-
+``` ### No requirement to bundle assets @@ -92,6 +96,7 @@ You just pass a single `embed.FS` that contains all your assets into your applic ### New Development Experience +```mdx-code-block
-
+``` Now that assets don't need to be bundled, it's enabled a whole new development experience. The new `wails dev` command will build and run your application, but instead of using the assets in the `embed.FS`, it loads them directly from disk. @@ -117,6 +122,7 @@ In addition to this, another JS module is dynamically generated wrapping all you ### Remote Templates +```mdx-code-block
-
+``` Getting an application up and running quickly was always a key goal for the Wails project. When we launched, we tried to cover a lot of the modern frameworks at the time: react, vue and angular. The world of frontend development is very opinionated, fast moving and hard to keep on top of! It also meant that we didn't have cool modern templates for the latest and greatest tech stacks. It also meant that we didn't have cool modern templates for the latest and greatest tech stacks. @@ -139,7 +145,7 @@ There were many twists and turns, pivots and u-turns to get to this point. This I also need to give a huge thank you :pray: to the following people because without them, this release just wouldn't exist: -- [Misitebao](https://github.com/misitebao) - An absolute workhorse on the Chinese translations and an incredible bug finder. +- [Misite Bao](https://github.com/misitebao) - An absolute workhorse on the Chinese translations and an incredible bug finder. - [John Chadwick](https://github.com/jchv) - His amazing work on [go-webview2](https://github.com/jchv/go-webview2) and [go-winloader](https://github.com/jchv/go-winloader) have made the Windows version we have today possible. - [Tad Vizbaras](https://github.com/tadvi) - Experimenting with his [winc](https://github.com/tadvi/winc) project was the first step down the path to a pure Go Wails. - [Mat Ryer](https://github.com/matryer) - His support, encouragement and feedback has really helped drive the project forward. diff --git a/website/i18n/ja/docusaurus-plugin-content-blog/2021-11-08-v2-beta2-release-notes.mdx b/website/i18n/ja/docusaurus-plugin-content-blog/2021-11-08-v2-beta2-release-notes.mdx index 04d90e4f6..e11c778df 100644 --- a/website/i18n/ja/docusaurus-plugin-content-blog/2021-11-08-v2-beta2-release-notes.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-blog/2021-11-08-v2-beta2-release-notes.mdx @@ -8,6 +8,7 @@ tags: - v2 --- +```mdx-code-block
-
+``` Today marks the first beta release of Wails v2 for Mac! It's taken quite a while to get to this point and I'm hoping that today's release will give you something that's reasonably useful. There have been a number of twists and turns to get to this point and I'm hoping, with your help, to iron out the crinkles and get the Mac port polished for the final v2 release. @@ -26,6 +27,7 @@ So what's new for Wails v2 for Mac vs v1? Hint: It's pretty similar to the Windo ### New Features +```mdx-code-block
-
+``` There were a lot of requests for native menu support. Wails has finally got you covered. Application menus are now available and include support for most native menu features. This includes standard menu items, checkboxes, radio groups, submenus and separators. @@ -78,6 +80,7 @@ In addition to this, another JS module is dynamically generated wrapping all you ### Remote Templates +```mdx-code-block
-
+``` Getting an application up and running quickly was always a key goal for the Wails project. When we launched, we tried to cover a lot of the modern frameworks at the time: react, vue and angular. The world of frontend development is very opinionated, fast moving and hard to keep on top of! It also meant that we didn't have cool modern templates for the latest and greatest tech stacks. It also meant that we didn't have cool modern templates for the latest and greatest tech stacks. @@ -96,6 +99,7 @@ With v2, I wanted to empower the community by giving you the ability to create a Thanks to the amazing support of [Mat Ryer](https://github.com/matryer/), the Wails project now supports M1 native builds: +```mdx-code-block
-
+``` You can also specify `darwin/amd64` as a target too: +```mdx-code-block
-
+``` Oh, I almost forgot.... you can also do `darwin/universal`.... :wink: +```mdx-code-block
-
+``` ### Cross Compilation to Windows Because Wails v2 for Windows is pure Go, you can target Windows builds without docker. +```mdx-code-block
-
+``` ### WKWebView Renderer diff --git a/website/i18n/ja/docusaurus-plugin-content-blog/2022-02-22-v2-beta3-release-notes.mdx b/website/i18n/ja/docusaurus-plugin-content-blog/2022-02-22-v2-beta3-release-notes.mdx index 35b49f4f4..010417854 100644 --- a/website/i18n/ja/docusaurus-plugin-content-blog/2022-02-22-v2-beta3-release-notes.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-blog/2022-02-22-v2-beta3-release-notes.mdx @@ -8,6 +8,7 @@ tags: - v2 --- +```mdx-code-block
-
+``` I'm pleased to finally announce that Wails v2 is now in beta for Linux! It is somewhat ironic that the very first experiments with v2 was on Linux and yet it has ended up as the last release. That being said, the v2 we have today is very different from those first experiments. So without further ado, let's go over the new features: ### New Features +```mdx-code-block
-
+``` There were a lot of requests for native menu support. Wails has finally got you covered. Application menus are now available and include support for most native menu features. This includes standard menu items, checkboxes, radio groups, submenus and separators. @@ -65,6 +67,7 @@ In addition to this, another JS module is dynamically generated wrapping all you ### Remote Templates +```mdx-code-block
-
+``` Getting an application up and running quickly was always a key goal for the Wails project. When we launched, we tried to cover a lot of the modern frameworks at the time: react, vue and angular. The world of frontend development is very opinionated, fast moving and hard to keep on top of! It also meant that we didn't have cool modern templates for the latest and greatest tech stacks. It also meant that we didn't have cool modern templates for the latest and greatest tech stacks. @@ -83,15 +86,16 @@ With v2, I wanted to empower the community by giving you the ability to create a Because Wails v2 for Windows is pure Go, you can target Windows builds without docker. +```mdx-code-block
-
+``` ### In Conclusion diff --git a/website/i18n/ja/docusaurus-plugin-content-blog/2022-09-18-v2-release-notes.mdx b/website/i18n/ja/docusaurus-plugin-content-blog/2022-09-18-v2-release-notes.mdx new file mode 100644 index 000000000..5b52b50d1 --- /dev/null +++ b/website/i18n/ja/docusaurus-plugin-content-blog/2022-09-18-v2-release-notes.mdx @@ -0,0 +1,99 @@ +--- +slug: wails-v2-released +title: Wails v2 Released +authors: + - leaanthony +tags: + - wails + - v2 +--- + +```mdx-code-block +
+ +
+
+``` + +# It's here! + +Today marks the release of [Wails](https://wails.io) v2. It's been about 18 months since the first v2 alpha and about a year from the first beta release. I'm truly grateful to everyone involved in the evolution of the project. + +Part of the reason it took that long was due to wanting to get to some definition of completeness before officially calling it v2. The truth is, there's never a perfect time to tag a release - there's always outstanding issues or "just one more" feature to squeeze in. What tagging an imperfect major release does do, however, is to provide a bit of stability for users of the project, as well as a bit of a reset for the developers. + +This release is more than I'd ever expected it to be. I hope it gives you as much pleasure as it has given us to develop it. + +# What _is_ Wails? + +If you are unfamiliar with Wails, it is a project that enables Go programmers to provide rich frontends for their Go programs using familiar web technologies. It's a lightweight, Go alternative to Electron. Much more information can be found on the [official site](https://wails.io/docs/introduction). + +# What's new? + +The v2 release is a huge leap forward for the project, addressing many of the pain points of v1. If you have not read any of the blog posts on the Beta releases for [macOS](/blog/wails-v2-beta-for-mac), [Windows](/blog/wails-v2-beta-for-windows) or [Linux](/blog/wails-v2-beta-for-linux), then I encourage you to do so as it covers all the major changes in more detail. In summary: + +- Webview2 component for Windows that supports modern web standards and debugging capabilities. +- [Dark / Light theme](/docs/reference/options#theme) + [custom theming](/docs/reference/options#customtheme) on Windows. +- Windows now has no CGO requirements. +- Out-of-the-box support for Svelte, Vue, React, Preact, Lit & Vanilla project templates. +- [Vite](https://vitejs.dev/) integration providing a hot-reload development environment for your application. +- Native application [menus](/docs/guides/application-development#application-menu) and [dialogs](/docs/reference/runtime/dialog). +- Native window translucency effects for [Windows](/docs/reference/options#windowistranslucent) and [macOS](/docs/reference/options#windowistranslucent-1). Support for Mica & Acrylic backdrops. +- Easily generate an [NSIS installer](/docs/guides/windows-installer) for Windows deployments. +- A rich [runtime library](/docs/reference/runtime/intro) providing utility methods for window manipulation, eventing, dialogs, menus and logging. +- Support for [obfuscating](/docs/guides/obfuscated) your application using [garble](https://github.com/burrowers/garble). +- Support for compressing your application using [UPX](https://upx.github.io/). +- Automatic Typescript generation of Go structs. More info [here](/docs/howdoesitwork#calling-bound-go-methods). +- No extra libraries or DLLs are required to be shipped with your application. For any platform. +- No requirement to bundle frontend assets. Just develop your application like any other web application. + +# Credit & Thanks + +Getting to v2 has been a huge effort. There have been ~2.2K commits by 89 contributors between the initial alpha and the release today, and many, many more that have provided translations, testing, feedback and help on the discussion forums as well as the issue tracker. I'm so unbelievably grateful to each one of you. I'd also like to give an extra special thank you to all the project sponsors who have provided guidance, advice and feedback. Everything you do is hugely appreciated. + +There are a few people I'd like to give special mention to: + +Firstly, a **huge** thank you to [@stffabi](https://github.com/stffabi) who has provided so many contributions which we all benefit from, as well as providing a lot of support on many issues. He has provided some key features such as the external dev server support which transformed our dev mode offering by allowing us to hook into [Vite](https://vitejs.dev/)'s superpowers. It's fair to say that Wails v2 would be a far less exciting release without his [incredible contributions](https://github.com/wailsapp/wails/commits?author=stffabi&since=2020-01-04). Thank you so much @stffabi! + +I'd also like to give a huge shout-out to [@misitebao](https://github.com/misitebao) who has tirelessly been maintaining the website, as well as providing Chinese translations, managing Crowdin and helping new translators get up to speed. This is a hugely important task, and I'm extremely grateful for all the time and effort put into this! You rock! + +Last, but not least, a huge thank you to Mat Ryer who has provided advice and support during the development of v2. Writing xBar together using an early Alpha of v2 was helpful in shaping the direction of v2, as well as give me an understanding of some design flaws in the early releases. I'm happy to announce that as of today, we will start to port xBar to Wails v2, and it will become the flagship application for the project. Cheers Mat! + +# Lessons Learnt + +There are a number of lessons learnt in getting to v2 that will shape development moving forward. + +## Smaller, Quicker, Focused Releases + +In the course of developing v2, there were many features and bug fixes that were developed on an ad-hoc basis. This led to longer release cycles and were harder to debug. Moving forward, we are going to create releases more often that will include a reduced number of features. A release will involve updates to documentation as well as thorough testing. Hopefully, these smaller, quicker, focussed releases will lead to fewer regressions and better quality documentation. + +## Encourage Engagement + +When starting this project, I wanted to immediately help everyone who had a problem. Issues were "personal" and I wanted them resolved as quickly as possible. This is unsustainable and ultimately works against the longevity of the project. Moving forward, I will be giving more space for people to get involved in answering questions and triaging issues. It would be good to get some tooling to help with this so if you have any suggestions, please join in the discussion [here](https://github.com/wailsapp/wails/discussions/1855). + +## Learning to say No + +The more people that engage with an Open Source project, the more requests there will be for additional features that may or may not be useful to the majority of people. These features will take an initial amount of time to develop and debug, and incur an ongoing maintenance cost from that point on. I myself am the most guilty of this, often wanting to "boil the sea" rather than provide the minimum viable feature. Moving forward, we will need to say "No" a bit more to adding core features and focus our energies on a way to empower developers to provide that functionality themselves. We are looking seriously into plugins for this scenario. This will allow anyone to extend the project as they see fit, as well as providing an easy way to contribute towards the project. + +# Looking to the Future + +There are so many core features we are looking at to add to Wails in the next major development cycle already. The [roadmap](https://github.com/wailsapp/wails/discussions/1484) is full of interesting ideas, and I'm keen to start work on them. One of the big asks has been for multiple window support. It's a tricky one and to do it right, and we may need to look at providing an alternative API, as the current one was not designed with this in mind. Based on some preliminary ideas and feedback, I think you'll like where we're looking to go with it. + +I'm personally very excited at the prospect of getting Wails apps running on mobile. We already have a demo project showing that it is possible to run a Wails app on Android, so I'm really keen to explore where we can go with this! + +A final point I'd like to raise is that of feature parity. It has long been a core principle that we wouldn't add anything to the project without there being full cross-platform support for it. Whilst this has proven to be (mainly) achievable so far, it has really held the project back in releasing new features. Moving forward, we will be adopting a slightly different approach: any new feature that cannot be immediately released for all platforms will be released under an experimental configuration or API. This allows early adopters on certain platforms to try the feature and provide feedback that will feed into the final design of the feature. This, of course, means that there are no guarantees of API stability until it is fully supported by all the platforms it can be supported on, but at least it will unblock development. + +# Final Words + +I'm really proud of what we've been able to achieve with the V2 release. It's amazing to see what people have already been able to build using the beta releases so far. Quality applications like [Varly](https://varly.app/), [Surge](https://getsurge.io/) and [October](https://october.utf9k.net/). I encourage you to check them out. + +This release was achieved through the hard work of many contributors. Whilst it is free to download and use, it has not come about through zero cost. Make no mistakes, this project has come at considerable cost. It has not only been my time and the time of each and every contributor, but also the cost of absence from friends and families of each of those people too. That's why I'm extremely grateful for every second that has been dedicated to making this project happen. The more contributors we have, the more this effort can be spread out and the more we can achieve together. I'd like to encourage you all to pick one thing that you can contribute, whether it is confirming someone's bug, suggesting a fix, making a documentation change or helping out someone who needs it. All of these small things have such a huge impact! It would be so awesome if you too were part of the story in getting to v3. + +Enjoy! + +‐ Lea + +PS: If you or your company find Wails useful, please consider [sponsoring the project](https://github.com/sponsors/leaanthony). Thanks! diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/emailit.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/emailit.mdx index 4a1ebe835..04150ba28 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/emailit.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/emailit.mdx @@ -1,8 +1,10 @@ # EmailIt +```mdx-code-block


+``` [EmailIt](https://github.com/raguay/EmailIt/) is a Wails 2 program that is a markdown based email sender only with nine notepads, scripts to manipulate the text, and templates. It also has a builtin [Node-Red](https://nodered.org/) server, scripts terminal, and the [ScriptBar](https://github.com/raguay/ScriptBarApp) program for displaying results from Node-Red or a script on your system. Documentation is very scarce, but the programs works. It’s built using Wails2 and Svelte, and the download is a universal macOS application. diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/encrypteasy.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/encrypteasy.mdx index 13c2d8345..7504950ea 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/encrypteasy.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/encrypteasy.mdx @@ -1,9 +1,11 @@ # EncryptEasy +```mdx-code-block


+``` **[EncryptEasy](https://www.encrypteasy.app) is a simple and easy to use PGP encryption tool, managing all your and your contacts keys. Encryption should be simple. Developed with Wails.** diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/filehound.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/filehound.mdx index 78cbfca86..134365aaf 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/filehound.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/filehound.mdx @@ -1,9 +1,11 @@ # FileHound Export Utility +```mdx-code-block


+``` [FileHound Export Utility](https://www.filehound.co.uk/) FileHound is a cloud document management platform made for secure file retention, business process automation and SmartCapture capabilities. diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/minecraftupdater.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/minecraftupdater.mdx index 11247339d..2f6c7c72b 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/minecraftupdater.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/minecraftupdater.mdx @@ -1,10 +1,14 @@ # Minecraft Updater +```mdx-code-block


+``` [Minecraft Updater](https://github.com/Gurkengewuerz/MinecraftModUpdater) is a utility tool to update and synchronize Minecraft mods for your userbase. It’s built using Wails2 and React with [antd](https://ant.design/) as frontend framework. diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/modalfilemanager.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/modalfilemanager.mdx index a7ae8c492..f8e2bcd66 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/modalfilemanager.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/modalfilemanager.mdx @@ -1,11 +1,13 @@ # Modal File Manager +```mdx-code-block


+``` [Modal File Manager](https://github.com/raguay/ModalFileManager) is a dual pane file manager using web technologies. My original design was based on NW.js and can be found [here](https://github.com/raguay/ModalFileManager-NWjs). This version uses the same Svelte based frontend code (but it has be greatly modified since the departure from NW.js), but the backend is a [Wails 2](https://wails.io/) implementation. By using this implementation, I no longer use command line `rm`, `cp`, etc. commands. It is fully coded using Go and runs much faster than the previous versions. diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/mollywallet.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/mollywallet.mdx index 534b097ca..5d846d06d 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/mollywallet.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/mollywallet.mdx @@ -1,8 +1,10 @@ # Molley Wallet +```mdx-code-block


+``` [Molly Wallet](https://github.com/grvlle/constellation_wallet/) the official $DAG wallet of the Constellation Network. It'll let users interact with the Hypergraph Network in various ways, not limited to producing $DAG transactions. diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/october.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/october.mdx index 889d2dd9e..66d634dc5 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/october.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/october.mdx @@ -1,9 +1,11 @@ # October +```mdx-code-block


+``` [October](https://october.utf9k.net) is a small Wails application that makes it really easy to extract highlights from [Kobo eReaders](https://en.wikipedia.org/wiki/Kobo_eReader) and then forward them to [Readwise](https://readwise.io). diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/optimus.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/optimus.mdx index c3eb79507..4f87479d6 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/optimus.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/optimus.mdx @@ -1,8 +1,10 @@ # Optimus +```mdx-code-block


+``` [Optimus](https://github.com/splode/optimus) is a desktop image optimization application. It supports conversion and compression between WebP, JPEG, and PNG image formats. diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/portfall.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/portfall.mdx index 4cc2c63c9..03e740f4c 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/portfall.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/portfall.mdx @@ -1,8 +1,10 @@ # Portfall +```mdx-code-block


+``` [Portfall](https://github.com/rekon-oss/portfall) - A desktop k8s port-forwarding portal for easy access to all your cluster UIs diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/restic-browser.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/restic-browser.mdx index 1505ce07a..3646384ec 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/restic-browser.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/restic-browser.mdx @@ -1,10 +1,12 @@ # Restic Browser +```mdx-code-block


+``` [Restic-Browser](https://github.com/emuell/restic-browser) - A simple, cross-platform [restic](https://github.com/restic/restic) backup GUI for browsing and restoring restic repositories. diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/riftshare.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/riftshare.mdx index 5223e88cf..9928b4785 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/riftshare.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/riftshare.mdx @@ -1,9 +1,11 @@ # RiftShare +```mdx-code-block


+``` Easy, Secure, and Free file sharing for everyone. Learn more at [Riftshare.app](https://riftshare.app) diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/scriptbar.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/scriptbar.mdx index aaa556f92..2ccb2acb4 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/scriptbar.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/scriptbar.mdx @@ -1,8 +1,10 @@ # ScriptBar +```mdx-code-block


+``` [ScriptBar](https://GitHub.com/raguay/ScriptBarApp) is a program to show the output of the embedded [Node-Red](https://nodered.org) server in the [EmailIt](https://GitHub.com/raguay/EmailIt) application. It also displays the output of scripts on your system. ScriptBar doesn't put them in the menubar, but has them all in a convient window for easy viewing. You can have multiple tabs to have many different things show. You can also keep the links to your most visited web sites. diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/surge.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/surge.mdx index 2d895dc29..c3b3fb4c0 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/surge.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/surge.mdx @@ -1,8 +1,10 @@ # Surge +```mdx-code-block


+``` [Surge](https://getsurge.io/) is a p2p filesharing app designed to utilize blockchain technologies to enable 100% anonymous file transfers. Surge is end-to-end encrypted, decentralized and open source. diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/wally.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/wally.mdx index 2a2498f40..7408aa585 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/wally.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/wally.mdx @@ -1,8 +1,10 @@ # Wally +```mdx-code-block


+``` [Wally](https://ergodox-ez.com/pages/wally) is the official firmware flasher for [Ergodox](https://ergodox-ez.com/) keyboards. It looks great and is a fantastic example of what you can achieve with Wails: the ability to combine the power of Go and the rich graphical tools of the web development world. diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/wombat.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/wombat.mdx index 54cedacea..f100c55e2 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/wombat.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/wombat.mdx @@ -1,8 +1,10 @@ # Wombat +```mdx-code-block


+``` [Wombat](https://github.com/rogchap/wombat) is a cross platform gRPC client. diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/ytd.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/ytd.mdx index 178ff0529..5db428f72 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/ytd.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/showcase/ytd.mdx @@ -1,8 +1,10 @@ # Ytd +```mdx-code-block


+``` [Ytd](https://github.com/marcio199226/ytd/tree/v2-wails) is an app for downloading tracks from youtube, creating offline playlists and share them with your friends, your friends will be able to playback your playlists or download them for offline listening, has an built-in player. diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/templates.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/templates.mdx index d9a29a6fa..3c24c5d7e 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/community/templates.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/community/templates.mdx @@ -14,12 +14,14 @@ Example: `wails init -n "Your Project Name" -t https://github.com/misitebao/wail :::warning Attention + **The Wails project does not maintain, is not responsible nor liable for 3rd party templates!** If you are unsure about a template, inspect `package.json` and `wails.json` for what scripts are run and what packages are installed. ::: + ## Vue - [wails-template-vue](https://github.com/misitebao/wails-template-vue) - A template using Vite,Vue and Vue-Router(Support both JavaScript and TypeScript) @@ -49,4 +51,4 @@ If you are unsure about a template, inspect `package.json` and `wails.json` for ## Pure JavaScript (Vanilla) -- [wails-pure-js-template](https://github.com/KiddoV/wails-pure-js-template) - A template with nothing but just basic JavaScript, HTML, and CSS \ No newline at end of file +- [wails-pure-js-template](https://github.com/KiddoV/wails-pure-js-template) - A template with nothing but just basic JavaScript, HTML, and CSS diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/building.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/building.mdx index 3e0df3b68..a1f69f033 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/building.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/building.mdx @@ -8,6 +8,7 @@ From the project directory, run `wails build`. This will compile your project an If you run the binary, you should see the default application: +```mdx-code-block
-
+``` For more details on compilation options, please refer to the [CLI Reference](../reference/cli.mdx#build). diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/development.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/development.mdx index 54dda5faa..a0075ef69 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/development.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/development.mdx @@ -8,7 +8,7 @@ You can run your application in development mode by running `wails dev` from you - Build your application and run it - Bind your Go code to the frontend so it can be called from Javascript -- Using the power of [vite](https://vitejs.dev/), will watch for modifications in your Go files and rebuild/re-run on change +- Using the power of [Vite](https://vitejs.dev/), will watch for modifications in your Go files and rebuild/re-run on change - Sets up a [webserver](http://localhost:34115) that will serve your application over a browser. This allows you to use your favourite browser extensions. You can even call your Go code from the console To get started, run `wails dev` in the project directory. More information on this can be found [here](../reference/cli.mdx#dev). diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/firstproject.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/firstproject.mdx index 86036d24b..3428906ef 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/firstproject.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/firstproject.mdx @@ -10,8 +10,7 @@ Now that the CLI is installed, you can generate a new project by using the `wail Pick your favourite framework: - - +```mdx-code-block import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; @@ -19,17 +18,18 @@ import TabItem from "@theme/TabItem"; defaultValue="Svelte" values={[ {label: "Svelte", value: "Svelte"}, - {label: "React", value: "React"}, - {label: "Vue", value: "Vue"}, - {label: "Preact", value: "Preact"}, - {label: "Lit", value: "Lit"}, - {label: "Vanilla", value: "Vanilla"}, - ]} + {label: "React", value: "React"}, + {label: "Vue", value: "Vue"}, + {label: "Preact", value: "Preact"}, + {label: "Lit", value: "Lit"}, + {label: "Vanilla", value: "Vanilla"}, + ]} > Generate a Svelte project using Javascript with:

wails init -n myproject -t svelte + If you would rather use Typescript:
wails init -n myproject -t svelte-ts @@ -39,54 +39,54 @@ If you would rather use Typescript:
Generate a React project using Javascript with:

wails init -n myproject -t react + If you would rather use Typescript:
wails init -n myproject -t react-ts
- Vue用のJavascriptプロジェクトを生成する場合:

+ Generate a Vue project using Javascript with:

wails init -n myproject -t vue -Typescriptプロジェクトを生成する場合:
+If you would rather use Typescript:
wails init -n myproject -t vue-ts
- Preact用のJavascriptプロジェクトを生成する場合:

+ Generate a Preact project using Javascript with:

wails init -n myproject -t preact -Typescriptプロジェクトを生成する場合:
+If you would rather use Typescript:
wails init -n myproject -t preact-ts
- Lit用のJavascriptプロジェクトを生成する場合:

+ Generate a Lit project using Javascript with:

wails init -n myproject -t lit -Typescriptプロジェクトを生成する場合:
+If you would rather use Typescript:
wails init -n myproject -t lit-ts
- Vanilla用のJavascriptプロジェクトを生成する場合:

+ Generate a Vanilla project using Javascript with:

wails init -n myproject -t vanilla -Typescriptプロジェクトを生成する場合:
+If you would rather use Typescript:
wails init -n myproject -t vanilla-ts
- - +```
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/installation.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/installation.mdx index 7dff4dd50..858100bbe 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/installation.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/gettingstarted/installation.mdx @@ -20,7 +20,7 @@ Wails has a number of common dependencies that are required before installation: ### Go -Download Go from the [Go Downloads Page](https://go.dev/doc/install). +Download Go from the [Go Downloads Page](https://go.dev/dl/). Ensure that you follow the official [Go installation instructions](https://go.dev/doc/install). You will also need to ensure that your `PATH` environment variable also includes the path to your `~/go/bin` directory. Restart your terminal and do the following checks: @@ -37,8 +37,7 @@ Run `npm --version` to verify. You will also need to install platform specific dependencies: - - +```mdx-code-block import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; @@ -46,32 +45,22 @@ import TabItem from "@theme/TabItem"; defaultValue="Windows" values={[ { label: "Windows", value: "Windows" }, - { label: "MacOS", value: "MacOS" }, - { label: "Linux", value: "Linux" }, - ]} + { label: "MacOS", value: "MacOS" }, + { label: "Linux", value: "Linux" }, + ]} > - Wailsを使用するには、xcodeコマンドラインツールがインストールされている必要があります。 This can be done by running:
- xcode-select --install + Wails requires that the xcode command line tools are installed. This can be + done by running xcode-select --install.
- Wails requires that the WebView2{" "} - runtime is installed. Some Windows installations will already have this installed. You can check using - the{" "} - wails doctor command (see below). + Wails requires that the WebView2 runtime is installed. Some Windows installations will already have this installed. You can check using the wails doctor command. - Linux required the standard gcc build tools - plus libgtk3 and libwebkit. Rather than list a ton of commands for different distros, Wails can try to determine - what the installation commands are for your specific distribution. Run wails doctor after - installation - to be shown how to install the dependencies. If your distro/package manager is not supported, please consult the {" "} - Add Linux Distro guide. + Linux required the standard gcc build tools plus libgtk3 and libwebkit. Rather than list a ton of commands for different distros, Wails can try to determine what the installation commands are for your specific distribution. Run wails doctor after installation to be shown how to install the dependencies. If your distro/package manager is not supported, please consult the Add Linux Distro guide. - - +``` ## Optional Dependencies diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/dynamic-assets.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/dynamic-assets.mdx index a0e14211c..40a779381 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/dynamic-assets.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/dynamic-assets.mdx @@ -87,17 +87,21 @@ let response = await fetch('does-not-exist.txt'); This will generate an error in the devtools. We can see that the error is what we expect, returned by our custom assets handler: +```mdx-code-block

+``` However, if we request `go.mod`, we will see the following output: +```mdx-code-block

+``` This technique can be used to load images directly into the page. If we updated our default vanilla template and replaced the logo image: @@ -113,14 +117,18 @@ with: Then we would see the following: +```mdx-code-block

+``` :::warning -Exposing your filesystem in this way is a security risk. It is recommended that you properly manage access -to your filesystem. + + +Exposing your filesystem in this way is a security risk. It is recommended that you properly manage access to your filesystem. + ::: diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/frameless.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/frameless.mdx index 3541c212f..a9370f36f 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/frameless.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/frameless.mdx @@ -4,7 +4,6 @@ Wails supports application that have no frames. This can be achieved by using th Wails offers a simple solution for dragging the window: Any HTML element that has the CSS style `--wails-draggable:drag` will act as a "drag handle". This property applies to all child elements. If you need to indicate that a nested element should not drag, then use the attribute '--wails-draggable:no-drag' on that element. - ```html @@ -66,19 +65,21 @@ func main() { ```html title=index.html - - - + + + alwaysontop - - -
- - + + +
+ + - ``` :::info Fullscreen - If you allow your application to go fullscreen, this drag functionality will be disabled. + + +If you allow your application to go fullscreen, this drag functionality will be disabled. + ::: diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/ides.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/ides.mdx index a20ae4131..5187065ad 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/ides.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/ides.mdx @@ -6,12 +6,14 @@ Currently, we support [Visual Studio Code](https://code.visualstudio.com/) but a ## Visual Studio Code +```mdx-code-block

+``` When generating a project using the `-ide vscode` flags, IDE files will be created alongside the other project files. These files are placed into the `.vscode` directory and provide the correct configuration for debugging your application. @@ -108,6 +110,7 @@ The `tasks.json` file is simple for the default project as there is no `npm inst :::info Future Enhancement + In the future, we hope to generate a `tasks.json` that includes the install and build steps automatically. ::: diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/linux-distro-support.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/linux-distro-support.mdx index 28a224a26..882f8d258 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/linux-distro-support.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/linux-distro-support.mdx @@ -97,5 +97,8 @@ type PackageManager interface { Take a look at the other package managers code to get an idea how this works. :::info Remember + + If you add support for a new package manager, don't forget to also update this page! + ::: diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/obfuscated.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/obfuscated.mdx new file mode 100644 index 000000000..049efbb32 --- /dev/null +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/obfuscated.mdx @@ -0,0 +1,42 @@ +# Obfuscated Builds + +Wails includes support for obfuscating your application using [garble](https://github.com/burrowers/garble). + +To produce an obfuscated build, you can use the `-obfuscate` flag with the `wails build` command: + +```bash +wails build -obfuscate +``` + +To customise the obfuscation settings, you can use the `-garbleargs` flag: + +```bash +wails build -obfuscate -garbleargs "-literals -tiny -seed=myrandomseed" +``` + +These settings may be persisted in your [project config](../reference/project-config). + +## How it works + +In a standard build, all bound methods are available in the frontend under the `window.go` variable. When these methods are called, the corresponding backend method is called using the fully qualified function name. When using an obfuscated build, methods are bound using an ID instead of a name. The bindings generated in the `wailsjs` directory use these IDs to call the backend functions. + +:::note + + +To ensure that your application will work in obfuscated mode, you must use the generated bindings under the `wailsjs` directory in your application. + +::: + + +## Example + +Importing the "Greet" method from the bindings like this: + +```js +import { Greet } from "../../wailsjs/go/main/App"; + +// snip +Greet("World"); +``` + +will ensure that the method will work correctly in obfuscated mode, as the bindings will be regenerated with IDs and the call mechanism updated. diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/overscroll.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/overscroll.mdx index dca7e83a3..9d1d772d0 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/overscroll.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/overscroll.mdx @@ -4,7 +4,7 @@ ```css html { - height: 100%; - overflow: hidden; + height: 100%; + overflow: hidden; } ``` diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/templates.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/templates.mdx index df75cbbc7..790e3107f 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/templates.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/templates.mdx @@ -77,12 +77,14 @@ Renaming package-lock.json -> package-lock.tmpl.json... - Once the project has compiled, run it: `.\build\bin\my-vue3-project.exe` - You should have a fully functioning Vue3 application: +```mdx-code-block
+``` ## Publishing Templates diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/troubleshooting.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/troubleshooting.mdx index 23c9b7728..aa1da16a4 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/troubleshooting.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/troubleshooting.mdx @@ -35,9 +35,15 @@ Reference: https://github.com/wailsapp/wails/issues/1504#issuecomment-1174317433 If your built application looks like this in finder: +```mdx-code-block

- +

+``` it's likely that your application's `info.plist` is invalid. Update the file in `build/.app/Contents/info.plist` and check if the data is valid, EG check the binary name is correct. To persist the changes, copy the file back to the `build/darwin` directory. @@ -54,25 +60,30 @@ func (a *App) TestFunc(msg string, args ...interface{}) error { calling this method from the frontend like this will fail: ```js -var msg = "Hello: " -var args = ["Go", "JS"] -window.go.main.App.TestFunc(msg, ...args).then((result) => { +var msg = "Hello: "; +var args = ["Go", "JS"]; +window.go.main.App.TestFunc(msg, ...args) + .then((result) => { //do things here -}).catch((error) => { + }) + .catch((error) => { //handle error -}); + }); ``` Workaround: ```js -var msg = "Hello " -var args = ["Go", "JS"] -window.go.main.App.TestFunc(msg, args).then((result) => { //without the 3 dots +var msg = "Hello "; +var args = ["Go", "JS"]; +window.go.main.App.TestFunc(msg, args) + .then((result) => { + //without the 3 dots //do things here -}).catch((error) => { + }) + .catch((error) => { //handle error -}); + }); ``` Credit: https://github.com/wailsapp/wails/issues/1186 @@ -104,8 +115,8 @@ If you navigate away from `index.html` to a new html file, the context will be l ```html - - + + ``` @@ -132,6 +143,6 @@ In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/Sy #define NS_FORMAT_ARGUMENT(A) __attribute__ ((format_arg(A))) ``` -This is *normally* due to a mismatch with the OS version you are running and the version of the XCode Command Line Tools installed. If you see an error like this, try upgrading your XCode Command Line Tools to the latest version. +This is _normally_ due to a mismatch with the OS version you are running and the version of the XCode Command Line Tools installed. If you see an error like this, try upgrading your XCode Command Line Tools to the latest version. -Source: https://github.com/wailsapp/wails/issues/1806 \ No newline at end of file +Source: https://github.com/wailsapp/wails/issues/1806 diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/windows-installer.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/windows-installer.mdx index 249ec5527..b0b6e9e1f 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/windows-installer.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/windows-installer.mdx @@ -1,12 +1,14 @@ # NSIS installer +```mdx-code-block

+ />

+``` Wails supports generating Windows installers using the [NSIS installer](https://nsis.sourceforge.io/). diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/howdoesitwork.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/howdoesitwork.mdx index efafbada9..a0bde09e6 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/howdoesitwork.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/howdoesitwork.mdx @@ -6,9 +6,11 @@ sidebar_position: 20 A Wails application is a standard Go application, with a webkit frontend. The Go part of the application consists of the application code and a runtime library that provides a number of useful operations, like controlling the application window. The frontend is a webkit window that will display the frontend assets. Also available to the frontend is a Javascript version of the runtime library. Finally, it is possible to bind Go methods to the frontend, and these will appear as Javascript methods that can be called, just as if they were local Javascript methods. +```mdx-code-block
- +
+``` ## The Main Application @@ -106,10 +108,12 @@ The `Bind` option is one of the most important options in a Wails application. I :::info Note + Wailsで構造体を正しくバインドするためには、構造体の*インスタンス*をオプションで指定してください。 ::: + In this example, we create a new `App` instance and then add this instance to the `Bind` option in `wails.Run`: ```go {16,24} title="main.go" @@ -225,9 +229,13 @@ The generated methods return a Promise. A successful call will result in the fir All data types are correctly translated between Go and Javascript. Even structs. If you return a struct from a Go call, it will be returned to your frontend as a Javascript class. Note: If you wish to use structs, you **must** define `json` struct tags for your fields! :::info Note + + Anonymous nested structs are not supported at this time. + ::: + It is possible to send structs back to Go. Any Javascript map/class passed as an argument that is expecting a struct, will be converted to that struct type. To make this process a lot easier, in `dev` mode, a TypeScript module is generated, defining all the struct types used in bound methods. Using this module, it's possible to construct and send native Javascript objects to the Go code. There is also support for Go methods that use structs in their signature. All Go structs specified by a bound method (either as parameters or return types) will have Typescript versions auto generated as part of the Go code wrapper module. Using these, it's possible to share the same data model between Go and Javascript. diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/introduction.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/introduction.mdx index 13b9ee566..8e38bff21 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/introduction.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/introduction.mdx @@ -16,19 +16,23 @@ Consider it a lightweight and fast Electron alternative for Go. You can easily b - Easily call Go methods from Javascript - Automatic Go struct to Typescript model generation - No CGO or external DLLs required on Windows -- Live development mode using the power of [Vite](https://vite.net/) +- Live development mode using the power of [Vite](https://vitejs.dev/) - Powerful CLI to easily Create, Build and Package applications -- A rich [runtime library](/docs/next/reference/runtime) +- A rich [runtime library](/docs/reference/runtime/intro) - Applications built with Wails are Apple & Microsoft Store compliant - This is [varly](https://varly.app) - a desktop application for MacOS & Windows written using Wails. Not only does it look great, it uses native menus and translucency - everything you'd expect from a modern native app. +```mdx-code-block

- +

+``` ### Quick Start Templates diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/cli.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/cli.mdx index 1aeb266c4..ecb25d43a 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/cli.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/cli.mdx @@ -39,12 +39,14 @@ A list of community maintained templates can be found [here](../community/templa :::warning Attention + **The Wails project does not maintain, is not responsible nor liable for 3rd party templates!** If you are unsure about a template, inspect `package.json` and `wails.json` for what scripts are run and what packages are installed. ::: + ## build `wails build` is used for compiling your project to a production-ready binary. @@ -59,7 +61,7 @@ If you are unsure about a template, inspect `package.json` and `wails.json` for | -o filename | Output filename | | | -s | Skip building the frontend | false | | -f | Force build application | false | -| -tags "extra tags" | Build tags to pass to compiler (quoted and space separated) | | +| -tags "extra tags" | Build tags to pass to Go compiler. Must be quoted. Space or comma (but not both) separated | | | -upx | Compress final binary using "upx" | | | -upxflags | Flags to pass to upx | | | -v int | Verbosity level (0 - silent, 1 - default, 2 - verbose) | 1 | @@ -68,7 +70,9 @@ If you are unsure about a template, inspect `package.json` and `wails.json` for | -debug | Retains debug information in the application. Allows the use of the devtools in the application window | false | | -trimpath | Remove all file system paths from the resulting executable. | false | | -race | Build with Go's race detector | false | -| -windowsconsole | Keep the console window for Windows builds | false | +| -windowsconsole | Keep the console window for Windows builds | | +| -obfuscate | Obfuscate the application using [garble](https://github.com/burrowers/garble) | false | +| -garbleargs | Arguments to pass to garble | `-literals -tiny -seed=random` | For a detailed description of the `webview2` flag, please refer to the [Windows](../guides/windows.mdx) Guide. @@ -80,16 +84,20 @@ Example: :::info UPX on Apple Silicon + There are [issues](https://github.com/upx/upx/issues/446) with using UPX with Apple Silicon. ::: + :::info UPX on Windows + Some Antivirus vendors false positively mark `upx` compressed binaries as virus, see [issue](https://github.com/upx/upx/issues/437). ::: + ### Platforms Supported platforms are: diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/menus.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/menus.mdx index 565c8cb48..a53759904 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/menus.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/menus.mdx @@ -106,57 +106,23 @@ Example: Keys are any single character on a keyboard with the exception of `+`, which is defined as `plus`. Some keys cannot be represented as characters so there are a set of named characters that may be used: -- `backspace` -- `tab` -- `return` -- `enter` -- `escape` -- `left` -- `right` -- `up` -- `down` -- `space` -- `delete` -- `home` -- `end` -- `page up` -- `page down` -- `f1` -- `f2` -- `f3` -- `f4` -- `f5` -- `f6` -- `f7` -- `f8` -- `f9` -- `f10` -- `f11` -- `f12` -- `f13` -- `f14` -- `f15` -- `f16` -- `f17` -- `f18` -- `f19` -- `f20` -- `f21` -- `f22` -- `f23` -- `f24` -- `f25` -- `f26` -- `f27` -- `f28` -- `f29` -- `f30` -- `f31` -- `f32` -- `f33` -- `f34` -- `f35` -- `numlock` +| | | | | +|:-----------:|:-----:|:-----:|:---------:| +| `backspace` | `f1` | `f16` | `f31` | +| `tab` | `f2` | `f17` | `f32` | +| `return` | `f3` | `f18` | `f33` | +| `enter` | `f4` | `f19` | `f34` | +| `escape` | `f5` | `f20` | `f35` | +| `left` | `f6` | `f21` | `numlock` | +| `right` | `f7` | `f22` | | +| `up` | `f8` | `f23` | | +| `down` | `f9` | `f24` | | +| `space` | `f10` | `f25` | | +| `delete` | `f11` | `f36` | | +| `home` | `f12` | `f37` | | +| `end` | `f13` | `f38` | | +| `page up` | `f14` | `f39` | | +| `page down` | `f15` | `f30` | | Wails also supports parsing accelerators using the same syntax as Electron. This is useful for storing accelerators in config files. @@ -254,10 +220,12 @@ The function is given a `CallbackData` struct which indicates which menu item tr :::info Roles + Roles are currently supported on Mac only. ::: + A menu item may have a role, which is essentially a pre-defined menu item. We currently support the following roles: | Role | Description | diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/options.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/options.mdx index 797ac7932..87f94aec5 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/options.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/options.mdx @@ -47,6 +47,7 @@ func main() { Windows: &windows.Options{ WebviewIsTransparent: false, WindowIsTranslucent: false, + BackdropType: windows.Mica, DisableWindowIcon: false, DisableFramelessWindowDecorations: false, WebviewUserDataPath: "", @@ -62,6 +63,10 @@ func main() { }, // User messages that can be customised Messages *windows.Messages + // OnSuspend is called when Windows enters low power mode + OnSuspend func() + // OnResume is called when Windows resumes from low power mode + OnResume func() }, Mac: &mac.Options{ TitleBar: &mac.TitleBar{ @@ -96,92 +101,93 @@ func main() { The text shown in the window's title bar. -Type: string +Name: Title
Type: `string` ### Width The initial width of the window. -Name: Width +Name: Width
Type: `int`
Default: 1024. ### Height The initial height of the window. -Type: [AppearanceType](#appearance-type) +Name: Height
Type: `int`
Default: 768 ### DisableResize By default, the main window is resizable. Setting this to `true` will keep it a fixed size. -Type: int +Name: DisableResize
Type: `bool` ### Fullscreen Setting this to `true` will make the window fullscreen at startup. -Type: int +Name: Fullscreen
Type: `bool` ### Frameless When set to `true`, the window will have no borders or title bar. Also see [Frameless Windows](../guides/frameless.mdx). -Type: int +Name: Frameless
Type: `bool` ### MinWidth This sets the minimum width for the window. If the value given in `Width` is less than this value, the window will be set to `MinWidth` by default. -Type: bool +Name: MinWidth
Type: `int` ### MinHeight This sets the minimum height for the window. If the value given in `Height` is less than this value, the window will be set to `MinHeight` by default. -Type: bool +Name: MinHeight
Type: `int` ### MaxWidth This sets the maximum width for the window. If the value given in `Width` is more than this value, the window will be set to `MaxWidth` by default. -Type: bool +Name: MaxWidth
Type: `int` ### MaxHeight This sets the maximum height for the window. If the value given in `Height` is more than this value, the window will be set to `MaxHeight` by default. -Type: bool +Name: MaxHeight
Type: `int` ### StartHidden When set to `true`, the application will be hidden until [WindowShow](../reference/runtime/window.mdx#windowshow) is called. -Type: int +Name: StartHidden
Type: `bool` + ### HideWindowOnClose By default, closing the window will close the application. Setting this to `true` means closing the window will hide the window instead. hide the window instead. -Type: int +Name: HideWindowOnClose
Type: `bool` ### BackgroundColour This value is the default background colour of the window. Default: white -Type: *options.RGBA Example: options.NewRGBA(255,0,0,128) - Red at 50% transparency +Name: BackgroundColour
Type: `*options.RGBA`
Default: white ### AlwaysOnTop Indicates that the window should stay above other windows when losing focus. -Type: int +Name: AlwaysOnTop
Type: `bool` ### Assets The frontend assets to be used by the application. Requires an `index.html` file. -Name: StartHidden +Name: Assets
Type: `embed.FS` ### AssetsHandler @@ -208,51 +214,57 @@ NOTE: Linux is currently very limited due to targeting a WebKit2GTK Version < 2. NOTE: When used in combination with a Frontend DevServer there might be limitations, eg. Vite serves the index.html on every path, that does not contain a file extension. -Type: http.Handler +Name: AssetsHandler
Type: `http.Handler` ### Menu The menu to be used by the application. More details about Menus in the [Menu Reference](../reference/runtime/menu.mdx). -NOTE: On Mac, if no menu is specified, a default menu will be created. ::: +:::note -Type: \*menu.Menu + +On Mac, if no menu is specified, a default menu will be created. + +::: + + +Name: Menu
Type: `*menu.Menu` ### Logger The logger to be used by the application. More details about logging in the [Log Reference](../reference/runtime/log.mdx). -Type: bool +Name: Logger
Type: `logger.Logger`
Default: Logs to Stdout ### LogLevel The default log level. More details about logging in the [Log Reference](../reference/runtime/log.mdx). -Name: Assets +Name: LogLevel
Type: `logger.LogLevel`
Default: `Info` in dev mode, `Error` in production mode ### LogLevelProduction The default log level for production builds. More details about logging in the [Log Reference](../reference/runtime/log.mdx). -Type: logger.LogLevel +Name: LogLevelProduction
Type: `logger.LogLevel`
Default: `Error` ### OnStartup This callback is called after the frontend has been created, but before `index.html` has been loaded. It is given the application context. -Name: AssetsHandler +Name: OnStartup
Type: `func(ctx context.Context)` ### OnDomReady This callback is called after the frontend has loaded `index.html` and its resources. It is given the application context. -Name: AssetsHandler +Name: OnDomReady
Type: `func(ctx context.Context)` ### OnShutdown This callback is called after the frontend has been destroyed, just before the application terminates. It is given the application context. -Name: AssetsHandler +Name: OnShutdown
Type: `func(ctx context.Context)` ### OnBeforeClose @@ -275,7 +287,7 @@ func (b *App) beforeClose(ctx context.Context) (prevent bool) { } ``` -Type: func(ctx context.Context) bool +Name: OnBeforeClose
Type: `func(ctx context.Context) bool` ### WindowStartState @@ -287,77 +299,89 @@ Defines how the window should present itself at startup. | Maximised | ✅ | ✅ | ✅ | | Minimised | ✅ | ❌ | ✅ | -Name: Logger +Name: WindowStartState
Type: `options.WindowStartState` ### CSSDragProperty Indicates the CSS property to use to identify which elements can be used to drag the window. Default: `--wails-draggable`. -Type: string +Name: CSSDragProperty
Type: `string` ### CSSDragValue Indicates what value the `CSSDragProperty` style should have to drag the window. Default: `drag`. -Type: string +Name: CSSDragValue
Type: `string` ### Bind A slice of struct instances defining methods that need to be bound to the frontend. -Default: Logger to Stdout +Name: Bind
Type: `[]interface{}` ### Windows -This defines [Windows specific options](#windows-specific-options). +This defines [Windows specific options](#windows). -Name: LogLevel +Name: Windows
Type: `*windows.Options` -### Mac - -This defines [Mac specific options](#mac-specific-options). - -Default: `Info` in dev mode, `Error` in production mode - -### Linux - -This defines [Linux specific options](#linux-specific-options). - -Name: LogLevelProduction - -## Windows Specific Options - -### WebviewIsTransparent +#### WebviewIsTransparent Setting this to `true` will make the webview background transparent when an alpha value of `0` is used. This means that if you use `rgba(0,0,0,0)` for `background-color` in your CSS, the host window will show through. Often combined with [WindowIsTranslucent](#WindowIsTranslucent) to make frosty-looking applications. -Type: int +Name: WebviewIsTransparent
Type: `bool` -### WindowIsTranslucent +#### WindowIsTranslucent -Setting this to `true` will make the window background translucent. Often combined with [WebviewIsTransparent](#WebviewIsTransparent) to make frosty-looking applications. +Setting this to `true` will make the window background translucent. Often combined with [WebviewIsTransparent](#WebviewIsTransparent). -Type: int +For Windows 11 versions before build 22621, this will use the [BlurBehind](https://learn.microsoft.com/en-us/windows/win32/dwm/blur-ovw) method for translucency, which can be slow. For Windows 11 versions after build 22621, this will enable the newer translucency types that are much faster. By default, the type of translucency used will be determined by Windows. To configure this, use the [BackdropType](#BackdropType) option. -### DisableWindowIcon +Name: WindowIsTranslucent
Type: `bool` + +#### BackdropType + +:::note + + +Requires Windows 11 build 22621 or later. + +::: + + +Sets the translucency type of the window. This is only applicable if [WindowIsTranslucent](#WindowIsTranslucent) is set to `true`. + +Name: BackdropType
Type `windows.BackdropType` + +The value can be one of the following: + +| Value | Description | +| ------- | ----------------------------------------------------------------------------------------- | +| Auto | Let Windows decide which backdrop to use | +| None | Do not use translucency | +| Acrylic | Use [Acrylic](https://learn.microsoft.com/en-us/windows/apps/design/style/acrylic) effect | +| Mica | Use [Mica](https://learn.microsoft.com/en-us/windows/apps/design/style/mica) effect | +| Tabbed | Use Tabbed. This is a backdrop that is similar to Mica. | + +#### DisableWindowIcon Setting this to `true` will remove the icon in the top left corner of the title bar. -Type: int +Name: DisableWindowIcon
Type: `bool` -### DisableFramelessWindowDecorations +#### DisableFramelessWindowDecorations Setting this to `true` will remove the window decorations in [Frameless](#Frameless) mode. This means there will be no 'Aero Shadow' and no 'Rounded Corners' shown for the window. Please note that 'Rounded Corners' are only supported on Windows 11. -Type: int +Name: DisableFramelessWindowDecorations
Type: `bool` -### WebviewUserDataPath +#### WebviewUserDataPath This defines the path where the WebView2 stores the user data. If empty `%APPDATA%\[BinaryName.exe]` will be used. -Type: string +Name: WebviewUserDataPath
Type: `string` -### WebviewBrowserPath +#### WebviewBrowserPath This defines the path to a directory with WebView2 executable files and libraries. If empty, webview2 installed in the system will be used. @@ -367,9 +391,9 @@ Important information about distribution of fixed version runtime: - [Known issues for fixed version](https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#known-issues-for-fixed-version) - [The path of fixed version of the WebView2 Runtime should not contain \Edge\Application\.](https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.1245.22#createcorewebview2environmentwithoptions) -Type: string +Name: WebviewBrowserPath
Type: `string` -### Theme +#### Theme Minimum Windows Version: Windows 10 2004/20H1 @@ -381,17 +405,23 @@ This defines the theme that the application should use: | Dark | The application will use a dark theme exclusively | | Light | The application will use a light theme exclusively | -Type: `windows.Theme` +Name: Theme
Type: `windows.Theme` -### CustomTheme +#### CustomTheme + +:::note + + +Minimum Windows Version: Windows 10/11 2009/21H2 Build 22000 + +::: -Name: WindowStartState Allows you to specify custom colours for TitleBar, TitleText and Border for both light and dark mode, as well as when the window is active or inactive. -Type: `windows.CustomTheme` +Name: CustomTheme
Type: `windows.CustomTheme` -#### Name: CustomTheme +##### CustomTheme type The CustomTheme struct uses `int32` to specify the colour values. These are in the standard(!) Windows format of: `0x00BBGGAA`. A helper function is provided to do RGB conversions into this format: `windows.RGB(r,g,b uint8)`. @@ -435,67 +465,45 @@ Example: }, ``` -### Messages +#### Messages A struct of strings used by the webview2 installer if a valid webview2 runtime is not found. -Type: `*windows.Messages` +Name: Messages
Type: `*windows.Messages` Customise this for any language you choose to support. -### ResizeDebounceMS +#### ResizeDebounceMS ResizeDebounceMS is the amount of time to debounce redraws of webview2 when resizing the window. The default value (0) will perform redraws as fast as it can. -Type: \*mac.Options +Name: ResizeDebounceMS
Type: `uint16` -### OnSuspend +#### OnSuspend -If set, this function will be called when windows initiates a switch to low power mode (suspend/hibernate) +If set, this function will be called when Windows initiates a switch to low power mode (suspend/hibernate) -Name: Linux +Name: OnSuspend
Type: `func()` -### OnResume +#### OnResume -If set, this function will be called when windows resumes from low power mode (suspend/hibernate) +If set, this function will be called when Windows resumes from low power mode (suspend/hibernate) -Name: Linux +Name: OnResume
Type: `func()` -## Mac Specific Options +### Mac -### TitleBar +This defines [Mac specific options](#mac). + +Name: Mac
Type: `*mac.Options` + +#### TitleBar The TitleBar struct provides the ability to configure the look and feel of the title bar. -Type: bool +Name: TitleBar
Type: [`*mac.TitleBar`](#titlebar-struct) - -### Appearance - -Appearance is used to set the style of your app in accordance with Apple's [NSAppearance](https://developer.apple.com/documentation/appkit/nsappearancename?language=objc) names. - -Name: WindowIsTranslucent - -### WebviewIsTransparent - -Setting this to `true` will make the webview background transparent when an alpha value of `0` is used. This means that if you use `rgba(0,0,0,0)` for `background-color` in your CSS, the host window will show through. Often combined with [WindowIsTranslucent](#WindowIsTranslucent) to make frosty-looking applications. - -Type: int - -### WindowIsTranslucent - -Setting this to `true` will make the window background translucent. Often combined with [WebviewIsTransparent](#WebviewIsTransparent) to make frosty-looking applications. - -Type: int - -### About - -This configuration lets you set the title, message and icon for the "About" menu item in the app menu created by the "AppMenu" role. - -Name: DisableFramelessWindowDecorations - - -#### Titlebar struct +##### Titlebar struct The titlebar of the application can be customised by using the TitleBar options: @@ -537,7 +545,13 @@ Mac: &mac.Options{ Click [here](https://github.com/lukakerr/NSWindowStyles) for some inspiration on customising the titlebar. -#### Appearance type +#### Appearance + +Appearance is used to set the style of your app in accordance with Apple's [NSAppearance](https://developer.apple.com/documentation/appkit/nsappearancename?language=objc) names. + +Name: Appearance
Type: [`mac.AppearanceType`](#appearance-type) + +##### Appearance type You can specify the application's [appearance](https://developer.apple.com/documentation/appkit/nsappearance?language=objc). @@ -560,9 +574,28 @@ Mac: &mac.Options{ } ``` -#### About struct +#### WebviewIsTransparent + +Setting this to `true` will make the webview background transparent when an alpha value of `0` is used. This means that if you use `rgba(0,0,0,0)` for `background-color` in your CSS, the host window will show through. Often combined with [WindowIsTranslucent](#WindowIsTranslucent) to make frosty-looking applications. + +Name: WebviewIsTransparent
Type: `bool` + +#### WindowIsTranslucent + +Setting this to `true` will make the window background translucent. Often combined with [WebviewIsTransparent](#WebviewIsTransparent) to make frosty-looking applications. + +Name: WindowIsTranslucent
Type: `bool` + +#### About + +This configuration lets you set the title, message and icon for the "About" menu item in the app menu created by the "AppMenu" role. + +Name: About
Type: [`*mac.AboutInfo`](#about-struct) + +##### About struct ```go + type AboutInfo struct { Title string Message string @@ -591,17 +624,19 @@ func main() { The "About" menu item will appear in the app menu: +```mdx-code-block
-
+``` When clicked, that will open an about message box: +```mdx-code-block
-
+``` -## Linux Specific Options +### Linux -### Icon +This defines [Linux specific options](#linux). + +Name: Linux
Type: `*linux.Options` + +#### Icon Sets up the icon representing the window. This icon is used when the window is minimized (also known as iconified). -Type: []byte +Name: Icon
Type: `[]byte` Some window managers or desktop environments may also place it in the window frame, or display it in other contexts. On others, the icon is not used at all, so your mileage may vary. diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/project-config.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/project-config.mdx index 3dc1cf002..cc9d01aa6 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/project-config.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/project-config.mdx @@ -13,11 +13,11 @@ The project config resides in the `wails.json` file in the project directory. Th "reloaddirs": "[Additional directories to trigger reloads (comma separated), this is only used for some advanced asset configurations]", "frontend:install": "[The command to install node dependencies, run in the frontend directory - often `npm install`]", "frontend:build": "[The command to build the assets, run in the frontend directory - often `npm run build`]", - "frontend:dev": "[This command has been replaced by frontend:dev:build. If frontend:dev:build is not specified will falls back to this command. If this command is also not specified will falls back to frontend:build]", + "frontend:dev": "[This command has been replaced by frontend:dev:build. If frontend:dev:build is not specified will falls back to this command. \nIf this command is also not specified will falls back to frontend:build]", "frontend:dev:build": "[This command is the dev equivalent of frontend:build. If not specified falls back to frontend:dev]", "frontend:dev:install": "[This command is the dev equivalent of frontend:install. If not specified falls back to frontend:install]", "frontend:dev:watcher": "[This command is run in a separate process on `wails dev`. Useful for 3rd party watchers or starting 3d party dev servers]", - "frontend:dev:serverUrl": "[URL to a 3rd party dev server to be used to serve assets, EG Vite. If this is set to 'auto' then the devServerUrl will be inferred from the Vite output]", + "frontend:dev:serverUrl": "[URL to a 3rd party dev server to be used to serve assets, EG Vite. \nIf this is set to 'auto' then the devServerUrl will be inferred from the Vite output]", "wailsjsdir": "[Relative path to the directory that the auto-generated JS modules will be created]", "version": "[Project config version]", "outputfilename": "[The name of the binary]", @@ -42,7 +42,9 @@ The project config resides in the `wails.json` file in the project directory. Th "copyright": "[The copyright of the product. Default: 'Copyright.........']", "comments": "[A short comment of the app. Default: 'Built using Wails (https://wails.app)']" }, - "nsisType": "['multiple': One installer per architecture. 'single': Single universal installer for all architectures being built. Default: 'multiple']" + "nsisType": "['multiple': One installer per architecture. 'single': Single universal installer for all architectures being built. Default: 'multiple']", + "obfuscated": "[Whether the app should be obfuscated. Default: false]", + "garbleargs": "[The arguments to pass to the garble command when using the obfuscated flag]" } ``` diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/browser.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/browser.mdx index 976ca1d80..c71ec4a3a 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/browser.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/browser.mdx @@ -11,4 +11,3 @@ These methods are related to the system browser. Opens the given URL in the system browser. Go: `BrowserOpenURL(ctx context.Context, url string)`
JS: `BrowserOpenURL(url string)` - diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/dialog.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/dialog.mdx index bf1dd7246..d2aa9ab6a 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/dialog.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/dialog.mdx @@ -7,9 +7,13 @@ sidebar_position: 5 This part of the runtime provides access to native dialogs, such as File Selectors and Message boxes. :::info Javascript - Dialog is currently unsupported in the JS runtime. + + +Dialog is currently unsupported in the JS runtime. + ::: + ### OpenDirectoryDialog Opens a dialog that prompts the user to select a directory. Can be customised using [OpenDialogOptions](#opendialogoptions). @@ -148,15 +152,16 @@ selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{ the first button is shown as default: +```mdx-code-block
-
+``` And if we specify `DefaultButton` to be "two": @@ -171,15 +176,16 @@ selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{ the second button is shown as default. When `return` is pressed, the value "two" is returned. +```mdx-code-block
-
+``` If we now specify `CancelButton` to be "three": @@ -195,17 +201,18 @@ selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{ the button with "three" is shown at the bottom of the dialog. When `escape` is pressed, the value "three" is returned: +```mdx-code-block
-


+``` #### DialogType @@ -231,33 +238,35 @@ type FileFilter struct { Windows allows you to use multiple file filters in dialog boxes. Each FileFilter will show up as a separate entry in the dialog: +```mdx-code-block
-


+``` #### Linux Linux allows you to use multiple file filters in dialog boxes. Each FileFilter will show up as a separate entry in the dialog: +```mdx-code-block
-


+``` #### Mac diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/events.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/events.mdx index 75e8b0a50..48d27f996 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/events.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/events.mdx @@ -14,7 +14,7 @@ Go: `EventsOn(ctx context.Context, eventName string, callback func(optionalData ### EventsOff -This method unregisters the listener for the given event name, optionally multiple listeneres can be unregistered via `additionalEventNames`. +このメソッドは、指定されたイベント名のイベントリスナー設定を解除します。引数の`additionalEventNames`を使用することで、複数のリスナーを一度に解除できます。 Go: `EventsOff(ctx context.Context, eventName string, additionalEventNames ...string)`
JS: `EventsOff(eventName string, ...additionalEventNames)` @@ -35,4 +35,3 @@ Go: `EventsOnMultiple(ctx context.Context, eventName string, callback func(optio This method emits the given event. Optional data may be passed with the event. This will trigger any event listeners. Go: `EventsEmit(ctx context.Context, eventName string, optionalData ...interface{})`
JS: `EventsEmit(ctx context, optionalData function(optionalData?: any))` - diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/intro.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/intro.mdx index 6c02c71cd..9cbe28096 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/intro.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/intro.mdx @@ -6,7 +6,7 @@ sidebar_position: 1 The runtime is a library that provides utility methods for your application. There is both a Go and Javascript runtime and the aim is to try and keep them at parity where possible. -It has utility methods for: +ユーティリティメソッドには次のようなものがあります: - [Window](window.mdx) - [Menu](menu.mdx) @@ -19,10 +19,12 @@ The Go Runtime is available through importing `github.com/wailsapp/wails/v2/pkg/ :::info Note + Whilst the context will be provided to the [OnStartup](../options.mdx#onstartup) method, there's no guarantee the runtime will work in this method as the window is initialising in a different thread. If you wish to call runtime methods at startup, use [OnDomReady](../options.mdx#ondomready). ::: + The Javascript library is available to the frontend via the `window.runtime` map. There is a runtime package generated when using `dev` mode that provides Typescript declarations for the runtime. This should be located in the `wailsjs` directory in your frontend directory. ### Hide @@ -31,13 +33,25 @@ Go: `Hide(ctx context.Context)`
JS: `Hide()` Hides the application. -:::info Note On Mac, this will hide the application in the same way as the `Hide` menu item in standard Mac applications. This is different to hiding the window, but the application still being in the foreground. For Windows and Linux, this is currently the same as `WindowHide`. ::: +:::info Note + + +Macでこのメソッドを使用すると、標準のMacアプリケーションにおけるメニュー項目の`Hide`と同じ方法で、アプリケーションが非表示になります。 This is different to hiding the window, but the application still being in the foreground. For Windows and Linux, this is currently the same as `WindowHide`. + +::: + ### Show Shows the application. -:::info Note On Mac, this will bring the application back into the foreground. For Windows and Linux, this is currently the same as `WindowShow`. ::: +:::info Note + + +Macでこのメソッドを使用すると、アプリケーションがフォアグラウンドに戻ります。 For Windows and Linux, this is currently the same as `WindowShow`. + +::: + Go: `Show(ctx context.Context)`
JS: `Show()` @@ -56,6 +70,7 @@ Go: `Environment(ctx context.Context) EnvironmentInfo`
JS: `Environment(): #### EnvironmentInfo Go: + ```go type EnvironmentInfo struct { BuildType string @@ -63,11 +78,13 @@ type EnvironmentInfo struct { Arch string } ``` + JS: + ```ts interface EnvironmentInfo { - buildType: string; - platform: string; - arch: string; + buildType: string; + platform: string; + arch: string; } ``` diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/menu.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/menu.mdx index 226ff2c68..68feb7a3f 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/menu.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/menu.mdx @@ -7,9 +7,13 @@ sidebar_position: 6 These methods are related to the application menu. :::info Javascript - Menu is currently unsupported in the JS runtime. + + +Menu is currently unsupported in the JS runtime. + ::: + ### MenuSetApplicationMenu Sets the application menu to the given [menu](../menus.mdx). diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/window.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/window.mdx index d33db2cbf..6bc4099cb 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/window.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/reference/runtime/window.mdx @@ -28,7 +28,7 @@ Go: `WindowUnfullscreen(ctx context.Context)`
JS: `WindowUnfullscreen()` Returns true if the window is full screen. -Go: `WindowCenter(ctx context.Context)`
JS: `WindowCenter()` +Go: `WindowIsFullscreen(ctx context.Context) bool`
JS: `WindowIsFullscreen() bool` ### WindowCenter @@ -88,7 +88,7 @@ Go: `WindowSetSize(ctx context.Context, width int, height int)`
JS: `Window Returns true if the window not minimised, maximised or fullscreen. -Go: `WindowGetSize(ctx context.Context) (width int, height int)`
JS: `WindowGetSize() : Size` +Go: `WindowIsNormal(ctx context.Context) bool`
JS: `WindowIsNormal() bool` ### WindowSetSize @@ -152,7 +152,7 @@ Go: `WindowMinimise(ctx context.Context)`
JS: `WindowMinimise()` Returns true if the window is maximised. -Go: `WindowUnminimise(ctx context.Context)`
JS: `WindowUnminimise()` +Go: `WindowIsMaximised(ctx context.Context) bool`
JS: `WindowIsMaximised() bool` ### WindowToggleMaximise @@ -176,7 +176,7 @@ Go: `WindowUnminimise(ctx context.Context)`
JS: `WindowUnminimise()` Returns true if the window is minimised. -Go: `WindowIsMinimised(ctx context.Context) bool` JS: `WindowIsMinimised() bool` +Go: `WindowIsMinimised(ctx context.Context) bool`
JS: `WindowIsMinimised() bool` ### WindowSetBackgroundColour @@ -184,7 +184,13 @@ Sets the background colour of the window to the given RGBA colour definition. Th Valid values for R, G, B and A are 0-255. -Any value that is not 0 will be considered 255. Any value that is not 0 will be considered 255. ::: +:::info Windows + + +On Windows, only alpha values of 0 or 255 are supported. Any value that is not 0 will be considered 255. + +::: + Go: `WindowSetBackgroundColour(ctx context.Context, R, G, B, A uint8)`
JS: `WindowSetBackgroundColour(R, G, B, A)` diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/tutorials/dogsapi.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/tutorials/dogsapi.mdx index f4845fdbe..0910a4060 100644 --- a/website/i18n/ja/docusaurus-plugin-content-docs/current/tutorials/dogsapi.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/tutorials/dogsapi.mdx @@ -4,6 +4,7 @@ sidebar_position: 20 # Dogs API +```mdx-code-block
-
+``` + +:::note + + +This tutorial has been kindly provided by [@tatadan](https://twitter.com/tatadan) and forms part of their [Wails Examples Repository](https://github.com/tataDan/wails-v2-examples). + +::: -:::note This tutorial has been kindly provided by [@tatadan](https://twitter.com/tatadan) and forms part of their [Wails Examples Repository](https://github.com/tataDan/wails-v2-examples). ::: In this tutorial we are going to develop an application that retrieves photos of dogs from the web and then displays them. @@ -146,6 +153,7 @@ import ( Add the following lines to `frontend/src/App.svelte`: + ```html - + + +
+ + - ``` :::info Fullscreen + + If you allow your application to go fullscreen, this drag functionality will be disabled. + ::: diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/guides/frontend.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/frontend.mdx similarity index 100% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/guides/frontend.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/frontend.mdx diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/guides/ides.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/ides.mdx similarity index 99% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/guides/ides.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/ides.mdx index a20ae4131..5187065ad 100644 --- a/website/i18n/ru/docusaurus-plugin-content-docs/current/guides/ides.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/ides.mdx @@ -6,12 +6,14 @@ Currently, we support [Visual Studio Code](https://code.visualstudio.com/) but a ## Visual Studio Code +```mdx-code-block

+``` When generating a project using the `-ide vscode` flags, IDE files will be created alongside the other project files. These files are placed into the `.vscode` directory and provide the correct configuration for debugging your application. @@ -108,6 +110,7 @@ The `tasks.json` file is simple for the default project as there is no `npm inst :::info Future Enhancement + In the future, we hope to generate a `tasks.json` that includes the install and build steps automatically. ::: diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/guides/linux-distro-support.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/linux-distro-support.mdx similarity index 99% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/guides/linux-distro-support.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/linux-distro-support.mdx index 28a224a26..882f8d258 100644 --- a/website/i18n/ru/docusaurus-plugin-content-docs/current/guides/linux-distro-support.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/linux-distro-support.mdx @@ -97,5 +97,8 @@ type PackageManager interface { Take a look at the other package managers code to get an idea how this works. :::info Remember + + If you add support for a new package manager, don't forget to also update this page! + ::: diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/guides/linux.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/linux.mdx similarity index 100% rename from website/i18n/ko/docusaurus-plugin-content-docs/current/guides/linux.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/linux.mdx diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/guides/manual-builds.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/manual-builds.mdx similarity index 100% rename from website/i18n/ko/docusaurus-plugin-content-docs/current/guides/manual-builds.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/manual-builds.mdx diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/guides/migrating.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/migrating.mdx similarity index 99% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/guides/migrating.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/migrating.mdx index 71af1f4e4..55b791e61 100644 --- a/website/i18n/ru/docusaurus-plugin-content-docs/current/guides/migrating.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/migrating.mdx @@ -107,8 +107,6 @@ func (a *App) startup(ctx context.Context) { a.ctx = ctx runtime.LogInfo(ctx, "Application Startup called!") } -} -} ``` diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/guides/mouse-buttons.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/mouse-buttons.mdx similarity index 100% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/guides/mouse-buttons.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/mouse-buttons.mdx diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/obfuscated.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/obfuscated.mdx new file mode 100644 index 000000000..049efbb32 --- /dev/null +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/obfuscated.mdx @@ -0,0 +1,42 @@ +# Obfuscated Builds + +Wails includes support for obfuscating your application using [garble](https://github.com/burrowers/garble). + +To produce an obfuscated build, you can use the `-obfuscate` flag with the `wails build` command: + +```bash +wails build -obfuscate +``` + +To customise the obfuscation settings, you can use the `-garbleargs` flag: + +```bash +wails build -obfuscate -garbleargs "-literals -tiny -seed=myrandomseed" +``` + +These settings may be persisted in your [project config](../reference/project-config). + +## How it works + +In a standard build, all bound methods are available in the frontend under the `window.go` variable. When these methods are called, the corresponding backend method is called using the fully qualified function name. When using an obfuscated build, methods are bound using an ID instead of a name. The bindings generated in the `wailsjs` directory use these IDs to call the backend functions. + +:::note + + +To ensure that your application will work in obfuscated mode, you must use the generated bindings under the `wailsjs` directory in your application. + +::: + + +## Example + +Importing the "Greet" method from the bindings like this: + +```js +import { Greet } from "../../wailsjs/go/main/App"; + +// snip +Greet("World"); +``` + +will ensure that the method will work correctly in obfuscated mode, as the bindings will be regenerated with IDs and the call mechanism updated. diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/guides/overscroll.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/overscroll.mdx similarity index 87% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/guides/overscroll.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/overscroll.mdx index dca7e83a3..9d1d772d0 100644 --- a/website/i18n/ru/docusaurus-plugin-content-docs/current/guides/overscroll.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/overscroll.mdx @@ -4,7 +4,7 @@ ```css html { - height: 100%; - overflow: hidden; + height: 100%; + overflow: hidden; } ``` diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/guides/routing.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/routing.mdx similarity index 100% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/guides/routing.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/routing.mdx diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/guides/signing.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/signing.mdx similarity index 91% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/guides/signing.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/signing.mdx index 5f2807a82..3e56f06c1 100644 --- a/website/i18n/ru/docusaurus-plugin-content-docs/current/guides/signing.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/signing.mdx @@ -33,24 +33,23 @@ on: with: name: wails-binaries-windows path: build/bin/* - jobs: - package: - strategy: - matrix: - platform: [ windows-latest, macos-latest ] - go-version: [1.18] - runs-on: ${{ matrix.platform }} - steps: - - uses: actions/checkout@v2 - - name: Install Go - uses: actions/setup-go@v2 + - name: Get Wails + run: go install github.com/wailsapp/wails/v2/cmd/wails@latest + - name: Build Wails app + run: | + wails build + - name: upload artifacts macOS + if: matrix.platform == 'macos-latest' + uses: actions/upload-artifact@v2 with: - go-version: ${{ matrix.go-version }} - - name: setup node - uses: actions/setup-node@v2 + name: wails-binaries-macos + path: build/bin/* + - name: upload artifacts windows + if: matrix.platform == 'windows-latest' + uses: actions/upload-artifact@v2 with: - node-version: 14 - # You may need to manually build you frontend here, unless you have configured frontend build and install commands in wails.json. + name: wails-binaries-windows + path: build/bin/* ``` Next we need to give the GitHub workflow access to our signing certificate. This is done by encoding your .pfx or .p12 certificate into a base64 string. To do this in PowerShell, you can use the following command assuming your certificate is called 'my-cert.p12': @@ -59,7 +58,7 @@ Next we need to give the GitHub workflow access to our signing certificate. This certutil -encode .\my-cert.p12 my-cert-base64.txt ``` -You should now have your .txt file with the base64 encoded certificate. Now you need to make two action secrets on GitHub. It should start with *-----BEGIN CERTIFICATE-----* and end with *-----END CERTIFICATE-----*. Navigate to *Settings -> Secrets -> Actions* and create the two following secrets: +You should now have your .txt file with the base64 encoded certificate. Now you need to make two action secrets on GitHub. Now you need to make two action secrets on GitHub. Navigate to *Settings -> Secrets -> Actions* and create the two following secrets: - **WIN_SIGNING_CERT** with the contents of your base64 encoded certificate text. - **WIN_SIGNING_CERT_PASSWORD** with the contents of your certificate password. @@ -103,7 +102,7 @@ jobs: package: strategy: matrix: - platform: [windows-latest, macos-latest] + platform: [ windows-latest, macos-latest ] go-version: [1.18] runs-on: ${{ matrix.platform }} steps: @@ -175,24 +174,6 @@ on: # This Action only starts when you go to Actions and manually run the workflow. jobs: - package: - strategy: - matrix: - platform: [windows-latest, macos-latest] - go-version: [1.18] - runs-on: ${{ matrix.platform }} - steps: - - uses: actions/checkout@v2 - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{ matrix.go-version }} - - name: setup node - uses: actions/setup-node@v2 - with: - node-version: 14 - # You may need to manually build you frontend here, unless you have configured frontend build and install commands in wails.json. - jobs: package: strategy: matrix: @@ -210,6 +191,23 @@ jobs: with: node-version: 14 # You may need to manually build you frontend here, unless you have configured frontend build and install commands in wails.json. + - name: Get Wails + run: go install github.com/wailsapp/wails/v2/cmd/wails@latest + - name: Build Wails app + run: | + wails build + - name: upload artifacts macOS + if: matrix.platform == 'macos-latest' + uses: actions/upload-artifact@v2 + with: + name: wails-binaries-macos + path: build/bin/* + - name: upload artifacts windows + if: matrix.platform == 'windows-latest' + uses: actions/upload-artifact@v2 + with: + name: wails-binaries-windows + path: build/bin/* ``` For code signing on macOS, [gon](https://github.com/mitchellh/gon) is a very handy tool for code signing and communicating with Apple servers, also written in Go, and will be used in this guide. @@ -324,7 +322,7 @@ jobs: package: strategy: matrix: - platform: [windows-latest, macos-latest] + platform: [ windows-latest, macos-latest ] go-version: [1.18] runs-on: ${{ matrix.platform }} steps: diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/guides/templates.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/templates.mdx similarity index 99% rename from website/i18n/ko/docusaurus-plugin-content-docs/current/guides/templates.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/templates.mdx index df75cbbc7..790e3107f 100644 --- a/website/i18n/ko/docusaurus-plugin-content-docs/current/guides/templates.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/templates.mdx @@ -77,12 +77,14 @@ Renaming package-lock.json -> package-lock.tmpl.json... - Once the project has compiled, run it: `.\build\bin\my-vue3-project.exe` - You should have a fully functioning Vue3 application: +```mdx-code-block
+``` ## Publishing Templates diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/guides/troubleshooting.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/troubleshooting.mdx similarity index 95% rename from website/i18n/ko/docusaurus-plugin-content-docs/current/guides/troubleshooting.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/troubleshooting.mdx index 3e16071fd..aa1da16a4 100644 --- a/website/i18n/ko/docusaurus-plugin-content-docs/current/guides/troubleshooting.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/troubleshooting.mdx @@ -35,9 +35,15 @@ Reference: https://github.com/wailsapp/wails/issues/1504#issuecomment-1174317433 If your built application looks like this in finder: +```mdx-code-block

- +

+``` it's likely that your application's `info.plist` is invalid. Update the file in `build/.app/Contents/info.plist` and check if the data is valid, EG check the binary name is correct. To persist the changes, copy the file back to the `build/darwin` directory. @@ -137,6 +143,6 @@ In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/Sy #define NS_FORMAT_ARGUMENT(A) __attribute__ ((format_arg(A))) ``` -This is *normally* due to a mismatch with the OS version you are running and the version of the XCode Command Line Tools installed. If you see an error like this, try upgrading your XCode Command Line Tools to the latest version. +This is _normally_ due to a mismatch with the OS version you are running and the version of the XCode Command Line Tools installed. If you see an error like this, try upgrading your XCode Command Line Tools to the latest version. -Source: https://github.com/wailsapp/wails/issues/1806 \ No newline at end of file +Source: https://github.com/wailsapp/wails/issues/1806 diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/guides/vscode.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/vscode.mdx similarity index 100% rename from website/i18n/ko/docusaurus-plugin-content-docs/current/guides/vscode.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/vscode.mdx diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/guides/windows-installer.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/windows-installer.mdx similarity index 98% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/guides/windows-installer.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/windows-installer.mdx index 249ec5527..b0b6e9e1f 100644 --- a/website/i18n/ru/docusaurus-plugin-content-docs/current/guides/windows-installer.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/windows-installer.mdx @@ -1,12 +1,14 @@ # NSIS installer +```mdx-code-block

+ />

+``` Wails supports generating Windows installers using the [NSIS installer](https://nsis.sourceforge.io/). diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/guides/windows.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/windows.mdx similarity index 100% rename from website/i18n/ko/docusaurus-plugin-content-docs/current/guides/windows.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/windows.mdx diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/howdoesitwork.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/howdoesitwork.mdx similarity index 98% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/howdoesitwork.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/howdoesitwork.mdx index cd0d9b840..a0bde09e6 100644 --- a/website/i18n/ru/docusaurus-plugin-content-docs/current/howdoesitwork.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/howdoesitwork.mdx @@ -6,9 +6,11 @@ sidebar_position: 20 A Wails application is a standard Go application, with a webkit frontend. The Go part of the application consists of the application code and a runtime library that provides a number of useful operations, like controlling the application window. The frontend is a webkit window that will display the frontend assets. Also available to the frontend is a Javascript version of the runtime library. Finally, it is possible to bind Go methods to the frontend, and these will appear as Javascript methods that can be called, just as if they were local Javascript methods. +```mdx-code-block
- +
+``` ## The Main Application @@ -106,10 +108,12 @@ The `Bind` option is one of the most important options in a Wails application. I :::info Note -Wails requires that you pass in an *instance* of the struct for it to bind it correctly + +Wailsで構造体を正しくバインドするためには、構造体の*インスタンス*をオプションで指定してください。 ::: + In this example, we create a new `App` instance and then add this instance to the `Bind` option in `wails.Run`: ```go {16,24} title="main.go" @@ -209,7 +213,7 @@ import {Greet} from '../wailsjs/go/main/App' function doGreeting(name) { Greet(name).then((result) => { - // Do something with result + // resultを使って何かする }) } ``` @@ -225,9 +229,13 @@ The generated methods return a Promise. A successful call will result in the fir All data types are correctly translated between Go and Javascript. Even structs. If you return a struct from a Go call, it will be returned to your frontend as a Javascript class. Note: If you wish to use structs, you **must** define `json` struct tags for your fields! :::info Note + + Anonymous nested structs are not supported at this time. + ::: + It is possible to send structs back to Go. Any Javascript map/class passed as an argument that is expecting a struct, will be converted to that struct type. To make this process a lot easier, in `dev` mode, a TypeScript module is generated, defining all the struct types used in bound methods. Using this module, it's possible to construct and send native Javascript objects to the Go code. There is also support for Go methods that use structs in their signature. All Go structs specified by a bound method (either as parameters or return types) will have Typescript versions auto generated as part of the Go code wrapper module. Using these, it's possible to share the same data model between Go and Javascript. diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/introduction.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/introduction.mdx similarity index 77% rename from website/i18n/ko/docusaurus-plugin-content-docs/current/introduction.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/introduction.mdx index 9bc150451..8e38bff21 100644 --- a/website/i18n/ko/docusaurus-plugin-content-docs/current/introduction.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/introduction.mdx @@ -2,13 +2,13 @@ sidebar_position: 1 --- -# 소개 +# Introduction -Wails는 Go 및 웹 기술을 사용하여 데스크톱 앱을 작성할 수 있는 프로젝트입니다. +Wails is a project that enables you to write desktop apps using Go and web technologies. Consider it a lightweight and fast Electron alternative for Go. You can easily build applications with the flexibility and power of Go, combined with a rich, modern frontend. -### 기능 +### Features - Native Menus, Dialogs, Theming and Translucency - Windows, macOS and linux support @@ -16,23 +16,27 @@ Consider it a lightweight and fast Electron alternative for Go. You can easily b - Easily call Go methods from Javascript - Automatic Go struct to Typescript model generation - No CGO or external DLLs required on Windows -- Live development mode using the power of [Vite](https://vite.net/) +- Live development mode using the power of [Vite](https://vitejs.dev/) - Powerful CLI to easily Create, Build and Package applications -- A rich [runtime library](/docs/next/reference/runtime) +- A rich [runtime library](/docs/reference/runtime/intro) - Applications built with Wails are Apple & Microsoft Store compliant +This is [varly](https://varly.app) - a desktop application for MacOS & Windows written using Wails. Not only does it look great, it uses native menus and translucency - everything you'd expect from a modern native app. -[varly](https://varly.app)는 Wails를 사용하여 작성된 MacOS & Windows용 데스크톱 애플리케이션입니다. 보기 좋을 뿐만 아니라 최신 네이티브 앱에서 바라는 기본 메뉴 구성과 반투명도를 사용합니다. - +```mdx-code-block

- +

+``` -### 빠른 시작 템플릿 +### Quick Start Templates -Wails에는 애플리케이션을 빠르게 구성하고 실행할 수 있도록 미리 구성된 여러 템플릿이 함께 제공됩니다. Svelte, React, Vue, Preact, Lit, Vanilla와 같은 프레임워크 템플릿들이 있으며, 각 템플릿에는 Javascript와 Typescript 버전이 있습니다. +Wails comes with a number of pre-configured templates that allow you to get your application up and running quickly. There are templates for the following frameworks: Svelte, React, Vue, Preact, Lit and Vanilla. There are both Javascript and Typescript versions for each template. ### Native Elements diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/reference/_category_.json b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/_category_.json similarity index 100% rename from website/i18n/ko/docusaurus-plugin-content-docs/current/reference/_category_.json rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/_category_.json diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/reference/cli.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/cli.mdx similarity index 95% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/reference/cli.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/cli.mdx index 1aeb266c4..ecb25d43a 100644 --- a/website/i18n/ru/docusaurus-plugin-content-docs/current/reference/cli.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/cli.mdx @@ -39,12 +39,14 @@ A list of community maintained templates can be found [here](../community/templa :::warning Attention + **The Wails project does not maintain, is not responsible nor liable for 3rd party templates!** If you are unsure about a template, inspect `package.json` and `wails.json` for what scripts are run and what packages are installed. ::: + ## build `wails build` is used for compiling your project to a production-ready binary. @@ -59,7 +61,7 @@ If you are unsure about a template, inspect `package.json` and `wails.json` for | -o filename | Output filename | | | -s | Skip building the frontend | false | | -f | Force build application | false | -| -tags "extra tags" | Build tags to pass to compiler (quoted and space separated) | | +| -tags "extra tags" | Build tags to pass to Go compiler. Must be quoted. Space or comma (but not both) separated | | | -upx | Compress final binary using "upx" | | | -upxflags | Flags to pass to upx | | | -v int | Verbosity level (0 - silent, 1 - default, 2 - verbose) | 1 | @@ -68,7 +70,9 @@ If you are unsure about a template, inspect `package.json` and `wails.json` for | -debug | Retains debug information in the application. Allows the use of the devtools in the application window | false | | -trimpath | Remove all file system paths from the resulting executable. | false | | -race | Build with Go's race detector | false | -| -windowsconsole | Keep the console window for Windows builds | false | +| -windowsconsole | Keep the console window for Windows builds | | +| -obfuscate | Obfuscate the application using [garble](https://github.com/burrowers/garble) | false | +| -garbleargs | Arguments to pass to garble | `-literals -tiny -seed=random` | For a detailed description of the `webview2` flag, please refer to the [Windows](../guides/windows.mdx) Guide. @@ -80,16 +84,20 @@ Example: :::info UPX on Apple Silicon + There are [issues](https://github.com/upx/upx/issues/446) with using UPX with Apple Silicon. ::: + :::info UPX on Windows + Some Antivirus vendors false positively mark `upx` compressed binaries as virus, see [issue](https://github.com/upx/upx/issues/437). ::: + ### Platforms Supported platforms are: diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/reference/menus.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/menus.mdx similarity index 92% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/reference/menus.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/menus.mdx index 565c8cb48..a53759904 100644 --- a/website/i18n/ru/docusaurus-plugin-content-docs/current/reference/menus.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/menus.mdx @@ -106,57 +106,23 @@ Example: Keys are any single character on a keyboard with the exception of `+`, which is defined as `plus`. Some keys cannot be represented as characters so there are a set of named characters that may be used: -- `backspace` -- `tab` -- `return` -- `enter` -- `escape` -- `left` -- `right` -- `up` -- `down` -- `space` -- `delete` -- `home` -- `end` -- `page up` -- `page down` -- `f1` -- `f2` -- `f3` -- `f4` -- `f5` -- `f6` -- `f7` -- `f8` -- `f9` -- `f10` -- `f11` -- `f12` -- `f13` -- `f14` -- `f15` -- `f16` -- `f17` -- `f18` -- `f19` -- `f20` -- `f21` -- `f22` -- `f23` -- `f24` -- `f25` -- `f26` -- `f27` -- `f28` -- `f29` -- `f30` -- `f31` -- `f32` -- `f33` -- `f34` -- `f35` -- `numlock` +| | | | | +|:-----------:|:-----:|:-----:|:---------:| +| `backspace` | `f1` | `f16` | `f31` | +| `tab` | `f2` | `f17` | `f32` | +| `return` | `f3` | `f18` | `f33` | +| `enter` | `f4` | `f19` | `f34` | +| `escape` | `f5` | `f20` | `f35` | +| `left` | `f6` | `f21` | `numlock` | +| `right` | `f7` | `f22` | | +| `up` | `f8` | `f23` | | +| `down` | `f9` | `f24` | | +| `space` | `f10` | `f25` | | +| `delete` | `f11` | `f36` | | +| `home` | `f12` | `f37` | | +| `end` | `f13` | `f38` | | +| `page up` | `f14` | `f39` | | +| `page down` | `f15` | `f30` | | Wails also supports parsing accelerators using the same syntax as Electron. This is useful for storing accelerators in config files. @@ -254,10 +220,12 @@ The function is given a `CallbackData` struct which indicates which menu item tr :::info Roles + Roles are currently supported on Mac only. ::: + A menu item may have a role, which is essentially a pre-defined menu item. We currently support the following roles: | Role | Description | diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/reference/options.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/options.mdx similarity index 80% rename from website/i18n/ko/docusaurus-plugin-content-docs/current/reference/options.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/options.mdx index 7bafbc0fa..87f94aec5 100644 --- a/website/i18n/ko/docusaurus-plugin-content-docs/current/reference/options.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/options.mdx @@ -47,6 +47,7 @@ func main() { Windows: &windows.Options{ WebviewIsTransparent: false, WindowIsTranslucent: false, + BackdropType: windows.Mica, DisableWindowIcon: false, DisableFramelessWindowDecorations: false, WebviewUserDataPath: "", @@ -62,6 +63,10 @@ func main() { }, // User messages that can be customised Messages *windows.Messages + // OnSuspend is called when Windows enters low power mode + OnSuspend func() + // OnResume is called when Windows resumes from low power mode + OnResume func() }, Mac: &mac.Options{ TitleBar: &mac.TitleBar{ @@ -96,92 +101,93 @@ func main() { The text shown in the window's title bar. -Type: `string` +Name: Title
Type: `string` ### Width The initial width of the window. -Type: `int`
Default: 1024. +Name: Width
Type: `int`
Default: 1024. ### Height The initial height of the window. -Type: `int`
Default: 768 +Name: Height
Type: `int`
Default: 768 ### DisableResize By default, the main window is resizable. Setting this to `true` will keep it a fixed size. -Type: `bool` +Name: DisableResize
Type: `bool` ### Fullscreen Setting this to `true` will make the window fullscreen at startup. -Type: `bool` +Name: Fullscreen
Type: `bool` ### Frameless When set to `true`, the window will have no borders or title bar. Also see [Frameless Windows](../guides/frameless.mdx). -Type: `bool` +Name: Frameless
Type: `bool` ### MinWidth This sets the minimum width for the window. If the value given in `Width` is less than this value, the window will be set to `MinWidth` by default. -Type: `int` +Name: MinWidth
Type: `int` ### MinHeight This sets the minimum height for the window. If the value given in `Height` is less than this value, the window will be set to `MinHeight` by default. -Type: `int` +Name: MinHeight
Type: `int` ### MaxWidth This sets the maximum width for the window. If the value given in `Width` is more than this value, the window will be set to `MaxWidth` by default. -Type: `int` +Name: MaxWidth
Type: `int` ### MaxHeight This sets the maximum height for the window. If the value given in `Height` is more than this value, the window will be set to `MaxHeight` by default. -Type: `int` +Name: MaxHeight
Type: `int` ### StartHidden When set to `true`, the application will be hidden until [WindowShow](../reference/runtime/window.mdx#windowshow) is called. -Type: `bool` +Name: StartHidden
Type: `bool` + ### HideWindowOnClose -By default, closing the window will close the application. Setting this to `true` means closing the window will +By default, closing the window will close the application. Setting this to `true` means closing the window will hide the window instead. hide the window instead. -Type: `bool` +Name: HideWindowOnClose
Type: `bool` ### BackgroundColour -This value is the default background colour of the window. Example: options.NewRGBA(255,0,0,128) - Red at 50% transparency +This value is the default background colour of the window. Default: white -Type: `*options.RGBA`
Default: white +Name: BackgroundColour
Type: `*options.RGBA`
Default: white ### AlwaysOnTop Indicates that the window should stay above other windows when losing focus. -Type: `bool` +Name: AlwaysOnTop
Type: `bool` ### Assets The frontend assets to be used by the application. Requires an `index.html` file. -Type: `embed.FS` +Name: Assets
Type: `embed.FS` ### AssetsHandler @@ -208,53 +214,57 @@ NOTE: Linux is currently very limited due to targeting a WebKit2GTK Version < 2. NOTE: When used in combination with a Frontend DevServer there might be limitations, eg. Vite serves the index.html on every path, that does not contain a file extension. -Type: `http.Handler` +Name: AssetsHandler
Type: `http.Handler` ### Menu The menu to be used by the application. More details about Menus in the [Menu Reference](../reference/runtime/menu.mdx). :::note + + On Mac, if no menu is specified, a default menu will be created. + ::: -Type: `*menu.Menu` + +Name: Menu
Type: `*menu.Menu` ### Logger The logger to be used by the application. More details about logging in the [Log Reference](../reference/runtime/log.mdx). -Type: `logger.Logger`
Default: Logs to Stdout +Name: Logger
Type: `logger.Logger`
Default: Logs to Stdout ### LogLevel The default log level. More details about logging in the [Log Reference](../reference/runtime/log.mdx). -Type: `logger.LogLevel`
Default: `Info` in dev mode, `Error` in production mode +Name: LogLevel
Type: `logger.LogLevel`
Default: `Info` in dev mode, `Error` in production mode ### LogLevelProduction The default log level for production builds. More details about logging in the [Log Reference](../reference/runtime/log.mdx). -Type: `logger.LogLevel`
Default: `Error` +Name: LogLevelProduction
Type: `logger.LogLevel`
Default: `Error` ### OnStartup This callback is called after the frontend has been created, but before `index.html` has been loaded. It is given the application context. -Type: `func(ctx context.Context)` +Name: OnStartup
Type: `func(ctx context.Context)` ### OnDomReady This callback is called after the frontend has loaded `index.html` and its resources. It is given the application context. -Type: `func(ctx context.Context)` +Name: OnDomReady
Type: `func(ctx context.Context)` ### OnShutdown This callback is called after the frontend has been destroyed, just before the application terminates. It is given the application context. -Type: `func(ctx context.Context)` +Name: OnShutdown
Type: `func(ctx context.Context)` ### OnBeforeClose @@ -265,11 +275,9 @@ Example: ```go title=windowsapp.go func (b *App) beforeClose(ctx context.Context) (prevent bool) { dialog, err := runtime.MessageDialog(ctx, runtime.MessageDialogOptions{ + Type: runtime.QuestionDialog, Title: "Quit?", Message: "Are you sure you want to quit?", - - Type: ` runtime`.QuestionDialog, - }) if err != nil { @@ -279,7 +287,7 @@ func (b *App) beforeClose(ctx context.Context) (prevent bool) { } ``` -Type: `func(ctx context.Context) bool` +Name: OnBeforeClose
Type: `func(ctx context.Context) bool` ### WindowStartState @@ -291,77 +299,89 @@ Defines how the window should present itself at startup. | Maximised | ✅ | ✅ | ✅ | | Minimised | ✅ | ❌ | ✅ | -Type: `options.WindowStartState` +Name: WindowStartState
Type: `options.WindowStartState` ### CSSDragProperty Indicates the CSS property to use to identify which elements can be used to drag the window. Default: `--wails-draggable`. -Type: `string` +Name: CSSDragProperty
Type: `string` ### CSSDragValue Indicates what value the `CSSDragProperty` style should have to drag the window. Default: `drag`. -Type: `string` +Name: CSSDragValue
Type: `string` ### Bind A slice of struct instances defining methods that need to be bound to the frontend. -Type: `[]interface{}` +Name: Bind
Type: `[]interface{}` ### Windows -This defines [Windows specific options](#windows-specific-options). +This defines [Windows specific options](#windows). -Type: `*windows.Options` +Name: Windows
Type: `*windows.Options` -### Mac - -This defines [Mac specific options](#mac-specific-options). - -Type: `*mac.Options` - -### Linux - -This defines [Linux specific options](#linux-specific-options). - -Type: `*linux.Options` - -## Windows Specific Options - -### WebviewIsTransparent +#### WebviewIsTransparent Setting this to `true` will make the webview background transparent when an alpha value of `0` is used. This means that if you use `rgba(0,0,0,0)` for `background-color` in your CSS, the host window will show through. Often combined with [WindowIsTranslucent](#WindowIsTranslucent) to make frosty-looking applications. -Type: `bool` +Name: WebviewIsTransparent
Type: `bool` -### WindowIsTranslucent +#### WindowIsTranslucent -Setting this to `true` will make the window background translucent. Often combined with [WebviewIsTransparent](#WebviewIsTransparent) to make frosty-looking applications. +Setting this to `true` will make the window background translucent. Often combined with [WebviewIsTransparent](#WebviewIsTransparent). -Type: `bool` +For Windows 11 versions before build 22621, this will use the [BlurBehind](https://learn.microsoft.com/en-us/windows/win32/dwm/blur-ovw) method for translucency, which can be slow. For Windows 11 versions after build 22621, this will enable the newer translucency types that are much faster. By default, the type of translucency used will be determined by Windows. To configure this, use the [BackdropType](#BackdropType) option. -### DisableWindowIcon +Name: WindowIsTranslucent
Type: `bool` + +#### BackdropType + +:::note + + +Requires Windows 11 build 22621 or later. + +::: + + +Sets the translucency type of the window. This is only applicable if [WindowIsTranslucent](#WindowIsTranslucent) is set to `true`. + +Name: BackdropType
Type `windows.BackdropType` + +The value can be one of the following: + +| Value | Description | +| ------- | ----------------------------------------------------------------------------------------- | +| Auto | Let Windows decide which backdrop to use | +| None | Do not use translucency | +| Acrylic | Use [Acrylic](https://learn.microsoft.com/en-us/windows/apps/design/style/acrylic) effect | +| Mica | Use [Mica](https://learn.microsoft.com/en-us/windows/apps/design/style/mica) effect | +| Tabbed | Use Tabbed. This is a backdrop that is similar to Mica. | + +#### DisableWindowIcon Setting this to `true` will remove the icon in the top left corner of the title bar. -Type: `bool` +Name: DisableWindowIcon
Type: `bool` -### DisableFramelessWindowDecorations +#### DisableFramelessWindowDecorations Setting this to `true` will remove the window decorations in [Frameless](#Frameless) mode. This means there will be no 'Aero Shadow' and no 'Rounded Corners' shown for the window. Please note that 'Rounded Corners' are only supported on Windows 11. -Type: `bool` +Name: DisableFramelessWindowDecorations
Type: `bool` -### WebviewUserDataPath +#### WebviewUserDataPath This defines the path where the WebView2 stores the user data. If empty `%APPDATA%\[BinaryName.exe]` will be used. -Type: `string` +Name: WebviewUserDataPath
Type: `string` -### WebviewBrowserPath +#### WebviewBrowserPath This defines the path to a directory with WebView2 executable files and libraries. If empty, webview2 installed in the system will be used. @@ -371,9 +391,9 @@ Important information about distribution of fixed version runtime: - [Known issues for fixed version](https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#known-issues-for-fixed-version) - [The path of fixed version of the WebView2 Runtime should not contain \Edge\Application\.](https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.1245.22#createcorewebview2environmentwithoptions) -Type: `string` +Name: WebviewBrowserPath
Type: `string` -### Theme +#### Theme Minimum Windows Version: Windows 10 2004/20H1 @@ -381,23 +401,27 @@ This defines the theme that the application should use: | Value | Description | | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | -| SystemDefault | _Default_. The theme will be based on the system default. If the user changes their theme, the application will update to use the new setting | +| SystemDefault | *Default*. The theme will be based on the system default. If the user changes their theme, the application will update to use the new setting | | Dark | The application will use a dark theme exclusively | | Light | The application will use a light theme exclusively | -Type: `windows.Theme` +Name: Theme
Type: `windows.Theme` -### CustomTheme +#### CustomTheme :::note + + Minimum Windows Version: Windows 10/11 2009/21H2 Build 22000 + ::: + Allows you to specify custom colours for TitleBar, TitleText and Border for both light and dark mode, as well as when the window is active or inactive. -Type: `windows.CustomTheme` +Name: CustomTheme
Type: `windows.CustomTheme` -#### CustomTheme Type +##### CustomTheme type The CustomTheme struct uses `int32` to specify the colour values. These are in the standard(!) Windows format of: `0x00BBGGAA`. A helper function is provided to do RGB conversions into this format: `windows.RGB(r,g,b uint8)`. @@ -441,67 +465,45 @@ Example: }, ``` -### Messages +#### Messages A struct of strings used by the webview2 installer if a valid webview2 runtime is not found. -Type: `*windows.Messages` +Name: Messages
Type: `*windows.Messages` Customise this for any language you choose to support. -### ResizeDebounceMS +#### ResizeDebounceMS ResizeDebounceMS is the amount of time to debounce redraws of webview2 when resizing the window. The default value (0) will perform redraws as fast as it can. -Type: `uint16` +Name: ResizeDebounceMS
Type: `uint16` -### OnSuspend +#### OnSuspend -If set, this function will be called when windows initiates a switch to low power mode (suspend/hibernate) +If set, this function will be called when Windows initiates a switch to low power mode (suspend/hibernate) -Type: `func()` +Name: OnSuspend
Type: `func()` -### OnResume +#### OnResume -If set, this function will be called when windows resumes from low power mode (suspend/hibernate) +If set, this function will be called when Windows resumes from low power mode (suspend/hibernate) -Type: `func()` +Name: OnResume
Type: `func()` -## Mac Specific Options +### Mac -### TitleBar +This defines [Mac specific options](#mac). + +Name: Mac
Type: `*mac.Options` + +#### TitleBar The TitleBar struct provides the ability to configure the look and feel of the title bar. -Type: [`*mac.TitleBar`](#titlebar-struct) +Name: TitleBar
Type: [`*mac.TitleBar`](#titlebar-struct) - -### Appearance - -Appearance is used to set the style of your app in accordance with Apple's [NSAppearance](https://developer.apple.com/documentation/appkit/nsappearancename?language=objc) names. - -Type: [`AppearanceType`](#appearance-type) - -### WebviewIsTransparent - -Setting this to `true` will make the webview background transparent when an alpha value of `0` is used. This means that if you use `rgba(0,0,0,0)` for `background-color` in your CSS, the host window will show through. Often combined with [WindowIsTranslucent](#WindowIsTranslucent) to make frosty-looking applications. - -Type: `bool` - -### WindowIsTranslucent - -Setting this to `true` will make the window background translucent. Often combined with [WebviewIsTransparent](#WebviewIsTransparent) to make frosty-looking applications. - -Type: `bool` - -### About - -This configuration lets you set the title, message and icon for the "About" menu item in the app menu created by the "AppMenu" role. - -Type: [`About`](#about-struct) - - -#### Titlebar struct +##### Titlebar struct The titlebar of the application can be customised by using the TitleBar options: @@ -543,7 +545,13 @@ Mac: &mac.Options{ Click [here](https://github.com/lukakerr/NSWindowStyles) for some inspiration on customising the titlebar. -#### Appearance type +#### Appearance + +Appearance is used to set the style of your app in accordance with Apple's [NSAppearance](https://developer.apple.com/documentation/appkit/nsappearancename?language=objc) names. + +Name: Appearance
Type: [`mac.AppearanceType`](#appearance-type) + +##### Appearance type You can specify the application's [appearance](https://developer.apple.com/documentation/appkit/nsappearance?language=objc). @@ -566,9 +574,28 @@ Mac: &mac.Options{ } ``` -#### About struct +#### WebviewIsTransparent + +Setting this to `true` will make the webview background transparent when an alpha value of `0` is used. This means that if you use `rgba(0,0,0,0)` for `background-color` in your CSS, the host window will show through. Often combined with [WindowIsTranslucent](#WindowIsTranslucent) to make frosty-looking applications. + +Name: WebviewIsTransparent
Type: `bool` + +#### WindowIsTranslucent + +Setting this to `true` will make the window background translucent. Often combined with [WebviewIsTransparent](#WebviewIsTransparent) to make frosty-looking applications. + +Name: WindowIsTranslucent
Type: `bool` + +#### About + +This configuration lets you set the title, message and icon for the "About" menu item in the app menu created by the "AppMenu" role. + +Name: About
Type: [`*mac.AboutInfo`](#about-struct) + +##### About struct ```go + type AboutInfo struct { Title string Message string @@ -597,17 +624,19 @@ func main() { The "About" menu item will appear in the app menu: +```mdx-code-block
-
+``` When clicked, that will open an about message box: +```mdx-code-block
-
+``` -## Linux Specific Options +### Linux -### Icon +This defines [Linux specific options](#linux). + +Name: Linux
Type: `*linux.Options` + +#### Icon Sets up the icon representing the window. This icon is used when the window is minimized (also known as iconified). -Type: `[]byte` +Name: Icon
Type: `[]byte` Some window managers or desktop environments may also place it in the window frame, or display it in other contexts. On others, the icon is not used at all, so your mileage may vary. diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/reference/project-config.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/project-config.mdx similarity index 90% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/reference/project-config.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/project-config.mdx index 3dc1cf002..cc9d01aa6 100644 --- a/website/i18n/ru/docusaurus-plugin-content-docs/current/reference/project-config.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/project-config.mdx @@ -13,11 +13,11 @@ The project config resides in the `wails.json` file in the project directory. Th "reloaddirs": "[Additional directories to trigger reloads (comma separated), this is only used for some advanced asset configurations]", "frontend:install": "[The command to install node dependencies, run in the frontend directory - often `npm install`]", "frontend:build": "[The command to build the assets, run in the frontend directory - often `npm run build`]", - "frontend:dev": "[This command has been replaced by frontend:dev:build. If frontend:dev:build is not specified will falls back to this command. If this command is also not specified will falls back to frontend:build]", + "frontend:dev": "[This command has been replaced by frontend:dev:build. If frontend:dev:build is not specified will falls back to this command. \nIf this command is also not specified will falls back to frontend:build]", "frontend:dev:build": "[This command is the dev equivalent of frontend:build. If not specified falls back to frontend:dev]", "frontend:dev:install": "[This command is the dev equivalent of frontend:install. If not specified falls back to frontend:install]", "frontend:dev:watcher": "[This command is run in a separate process on `wails dev`. Useful for 3rd party watchers or starting 3d party dev servers]", - "frontend:dev:serverUrl": "[URL to a 3rd party dev server to be used to serve assets, EG Vite. If this is set to 'auto' then the devServerUrl will be inferred from the Vite output]", + "frontend:dev:serverUrl": "[URL to a 3rd party dev server to be used to serve assets, EG Vite. \nIf this is set to 'auto' then the devServerUrl will be inferred from the Vite output]", "wailsjsdir": "[Relative path to the directory that the auto-generated JS modules will be created]", "version": "[Project config version]", "outputfilename": "[The name of the binary]", @@ -42,7 +42,9 @@ The project config resides in the `wails.json` file in the project directory. Th "copyright": "[The copyright of the product. Default: 'Copyright.........']", "comments": "[A short comment of the app. Default: 'Built using Wails (https://wails.app)']" }, - "nsisType": "['multiple': One installer per architecture. 'single': Single universal installer for all architectures being built. Default: 'multiple']" + "nsisType": "['multiple': One installer per architecture. 'single': Single universal installer for all architectures being built. Default: 'multiple']", + "obfuscated": "[Whether the app should be obfuscated. Default: false]", + "garbleargs": "[The arguments to pass to the garble command when using the obfuscated flag]" } ``` diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/reference/runtime/_category_.json b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/_category_.json similarity index 100% rename from website/i18n/ko/docusaurus-plugin-content-docs/current/reference/runtime/_category_.json rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/_category_.json diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/reference/runtime/browser.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/browser.mdx similarity index 99% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/reference/runtime/browser.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/browser.mdx index 976ca1d80..c71ec4a3a 100644 --- a/website/i18n/ru/docusaurus-plugin-content-docs/current/reference/runtime/browser.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/browser.mdx @@ -11,4 +11,3 @@ These methods are related to the system browser. Opens the given URL in the system browser. Go: `BrowserOpenURL(ctx context.Context, url string)`
JS: `BrowserOpenURL(url string)` - diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/reference/runtime/dialog.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/dialog.mdx similarity index 94% rename from website/i18n/ko/docusaurus-plugin-content-docs/current/reference/runtime/dialog.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/dialog.mdx index ad65257ee..d2aa9ab6a 100644 --- a/website/i18n/ko/docusaurus-plugin-content-docs/current/reference/runtime/dialog.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/dialog.mdx @@ -7,9 +7,13 @@ sidebar_position: 5 This part of the runtime provides access to native dialogs, such as File Selectors and Message boxes. :::info Javascript + + Dialog is currently unsupported in the JS runtime. + ::: + ### OpenDirectoryDialog Opens a dialog that prompts the user to select a directory. Can be customised using [OpenDialogOptions](#opendialogoptions). @@ -148,15 +152,16 @@ selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{ the first button is shown as default: +```mdx-code-block
-
+``` And if we specify `DefaultButton` to be "two": @@ -171,15 +176,16 @@ selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{ the second button is shown as default. When `return` is pressed, the value "two" is returned. +```mdx-code-block
-
+``` If we now specify `CancelButton` to be "three": @@ -195,17 +201,18 @@ selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{ the button with "three" is shown at the bottom of the dialog. When `escape` is pressed, the value "three" is returned: +```mdx-code-block
-


+``` #### DialogType @@ -231,33 +238,35 @@ type FileFilter struct { Windows allows you to use multiple file filters in dialog boxes. Each FileFilter will show up as a separate entry in the dialog: +```mdx-code-block
-


+``` #### Linux Linux allows you to use multiple file filters in dialog boxes. Each FileFilter will show up as a separate entry in the dialog: +```mdx-code-block
-


+``` #### Mac diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/reference/runtime/events.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/events.mdx similarity index 88% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/reference/runtime/events.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/events.mdx index 75e8b0a50..48d27f996 100644 --- a/website/i18n/ru/docusaurus-plugin-content-docs/current/reference/runtime/events.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/events.mdx @@ -14,7 +14,7 @@ Go: `EventsOn(ctx context.Context, eventName string, callback func(optionalData ### EventsOff -This method unregisters the listener for the given event name, optionally multiple listeneres can be unregistered via `additionalEventNames`. +このメソッドは、指定されたイベント名のイベントリスナー設定を解除します。引数の`additionalEventNames`を使用することで、複数のリスナーを一度に解除できます。 Go: `EventsOff(ctx context.Context, eventName string, additionalEventNames ...string)`
JS: `EventsOff(eventName string, ...additionalEventNames)` @@ -35,4 +35,3 @@ Go: `EventsOnMultiple(ctx context.Context, eventName string, callback func(optio This method emits the given event. Optional data may be passed with the event. This will trigger any event listeners. Go: `EventsEmit(ctx context.Context, eventName string, optionalData ...interface{})`
JS: `EventsEmit(ctx context, optionalData function(optionalData?: any))` - diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/reference/runtime/intro.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/intro.mdx similarity index 71% rename from website/i18n/ko/docusaurus-plugin-content-docs/current/reference/runtime/intro.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/intro.mdx index 6c02c71cd..9cbe28096 100644 --- a/website/i18n/ko/docusaurus-plugin-content-docs/current/reference/runtime/intro.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/intro.mdx @@ -6,7 +6,7 @@ sidebar_position: 1 The runtime is a library that provides utility methods for your application. There is both a Go and Javascript runtime and the aim is to try and keep them at parity where possible. -It has utility methods for: +ユーティリティメソッドには次のようなものがあります: - [Window](window.mdx) - [Menu](menu.mdx) @@ -19,10 +19,12 @@ The Go Runtime is available through importing `github.com/wailsapp/wails/v2/pkg/ :::info Note + Whilst the context will be provided to the [OnStartup](../options.mdx#onstartup) method, there's no guarantee the runtime will work in this method as the window is initialising in a different thread. If you wish to call runtime methods at startup, use [OnDomReady](../options.mdx#ondomready). ::: + The Javascript library is available to the frontend via the `window.runtime` map. There is a runtime package generated when using `dev` mode that provides Typescript declarations for the runtime. This should be located in the `wailsjs` directory in your frontend directory. ### Hide @@ -31,13 +33,25 @@ Go: `Hide(ctx context.Context)`
JS: `Hide()` Hides the application. -:::info Note On Mac, this will hide the application in the same way as the `Hide` menu item in standard Mac applications. This is different to hiding the window, but the application still being in the foreground. For Windows and Linux, this is currently the same as `WindowHide`. ::: +:::info Note + + +Macでこのメソッドを使用すると、標準のMacアプリケーションにおけるメニュー項目の`Hide`と同じ方法で、アプリケーションが非表示になります。 This is different to hiding the window, but the application still being in the foreground. For Windows and Linux, this is currently the same as `WindowHide`. + +::: + ### Show Shows the application. -:::info Note On Mac, this will bring the application back into the foreground. For Windows and Linux, this is currently the same as `WindowShow`. ::: +:::info Note + + +Macでこのメソッドを使用すると、アプリケーションがフォアグラウンドに戻ります。 For Windows and Linux, this is currently the same as `WindowShow`. + +::: + Go: `Show(ctx context.Context)`
JS: `Show()` @@ -56,6 +70,7 @@ Go: `Environment(ctx context.Context) EnvironmentInfo`
JS: `Environment(): #### EnvironmentInfo Go: + ```go type EnvironmentInfo struct { BuildType string @@ -63,11 +78,13 @@ type EnvironmentInfo struct { Arch string } ``` + JS: + ```ts interface EnvironmentInfo { - buildType: string; - platform: string; - arch: string; + buildType: string; + platform: string; + arch: string; } ``` diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/reference/runtime/log.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/log.mdx similarity index 100% rename from website/i18n/ko/docusaurus-plugin-content-docs/current/reference/runtime/log.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/log.mdx diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/reference/runtime/menu.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/menu.mdx similarity index 89% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/reference/runtime/menu.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/menu.mdx index 226ff2c68..68feb7a3f 100644 --- a/website/i18n/ru/docusaurus-plugin-content-docs/current/reference/runtime/menu.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/menu.mdx @@ -7,9 +7,13 @@ sidebar_position: 6 These methods are related to the application menu. :::info Javascript - Menu is currently unsupported in the JS runtime. + + +Menu is currently unsupported in the JS runtime. + ::: + ### MenuSetApplicationMenu Sets the application menu to the given [menu](../menus.mdx). diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/current/reference/runtime/window.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/window.mdx similarity index 91% rename from website/i18n/ru/docusaurus-plugin-content-docs/current/reference/runtime/window.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/window.mdx index 3316a45f9..6bc4099cb 100644 --- a/website/i18n/ru/docusaurus-plugin-content-docs/current/reference/runtime/window.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/reference/runtime/window.mdx @@ -28,7 +28,7 @@ Go: `WindowUnfullscreen(ctx context.Context)`
JS: `WindowUnfullscreen()` Returns true if the window is full screen. -Go: `WindowCenter(ctx context.Context)`
JS: `WindowCenter()` +Go: `WindowIsFullscreen(ctx context.Context) bool`
JS: `WindowIsFullscreen() bool` ### WindowCenter @@ -88,7 +88,7 @@ Go: `WindowSetSize(ctx context.Context, width int, height int)`
JS: `Window Returns true if the window not minimised, maximised or fullscreen. -Go: `WindowGetSize(ctx context.Context) (width int, height int)`
JS: `WindowGetSize() : Size` +Go: `WindowIsNormal(ctx context.Context) bool`
JS: `WindowIsNormal() bool` ### WindowSetSize @@ -152,7 +152,7 @@ Go: `WindowMinimise(ctx context.Context)`
JS: `WindowMinimise()` Returns true if the window is maximised. -Go: `WindowUnminimise(ctx context.Context)`
JS: `WindowUnminimise()` +Go: `WindowIsMaximised(ctx context.Context) bool`
JS: `WindowIsMaximised() bool` ### WindowToggleMaximise @@ -176,7 +176,7 @@ Go: `WindowUnminimise(ctx context.Context)`
JS: `WindowUnminimise()` Returns true if the window is minimised. -Go: `WindowIsMinimised(ctx context.Context) bool` JS: `WindowIsMinimised() bool` +Go: `WindowIsMinimised(ctx context.Context) bool`
JS: `WindowIsMinimised() bool` ### WindowSetBackgroundColour @@ -184,10 +184,14 @@ Sets the background colour of the window to the given RGBA colour definition. Th Valid values for R, G, B and A are 0-255. -Any value that is not 0 will be considered 255. :::info Windows -On Windows, only alpha values of 0 or 255 are supported. +:::info Windows + + +On Windows, only alpha values of 0 or 255 are supported. Any value that is not 0 will be considered 255. + ::: + Go: `WindowSetBackgroundColour(ctx context.Context, R, G, B, A uint8)`
JS: `WindowSetBackgroundColour(R, G, B, A)` ## Typescript Object Definitions diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/tutorials/_category_.json b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/tutorials/_category_.json similarity index 100% rename from website/i18n/ko/docusaurus-plugin-content-docs/current/tutorials/_category_.json rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/tutorials/_category_.json diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/tutorials/dogsapi.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/tutorials/dogsapi.mdx similarity index 94% rename from website/i18n/ko/docusaurus-plugin-content-docs/current/tutorials/dogsapi.mdx rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/tutorials/dogsapi.mdx index f4845fdbe..0910a4060 100644 --- a/website/i18n/ko/docusaurus-plugin-content-docs/current/tutorials/dogsapi.mdx +++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/tutorials/dogsapi.mdx @@ -4,6 +4,7 @@ sidebar_position: 20 # Dogs API +```mdx-code-block
-
+``` + +:::note + + +This tutorial has been kindly provided by [@tatadan](https://twitter.com/tatadan) and forms part of their [Wails Examples Repository](https://github.com/tataDan/wails-v2-examples). + +::: -:::note This tutorial has been kindly provided by [@tatadan](https://twitter.com/tatadan) and forms part of their [Wails Examples Repository](https://github.com/tataDan/wails-v2-examples). ::: In this tutorial we are going to develop an application that retrieves photos of dogs from the web and then displays them. @@ -146,6 +153,7 @@ import ( Add the following lines to `frontend/src/App.svelte`: + ```html - - -export const NewComponent = () => ( -
-