Commit Graph

1298 Commits

Author SHA1 Message Date
Wumbo aa26ca1d23 web: Improve video modal 2024-06-30 13:23:16 +02:00
Wumbo f078fc3b39 web: Don't close modal upon right click
There was a general consensus in the Ruffle Discord that this
functionality was awkward and unneeded (on top of already not
working as intended).
2024-06-30 13:23:16 +02:00
Wumbo 64b7f2edb8 web: Use transforms for modals/context menu instead of position
This lets the context menu escape the bounds of the player and keeps
modals in the center of the player at small widths.
2024-06-30 13:23:16 +02:00
Wumbo e79efb9bd9 web: Enforce nowrap on context menu items
This resolves (literal) edge cases where opening the context menu
too close to the right-hand side of the player would inadvertently
wrap the lengthiest menu item.
2024-06-30 13:23:16 +02:00
Wumbo 45cbb4f14e web: Don't unnecessarily populate Save Manager 2024-06-30 13:23:16 +02:00
Wumbo fe944e017d web: Run formatter because I forgot to before 2024-06-30 13:23:16 +02:00
Wumbo dfe39f4a50 web: Improve modal/context menu behavior
- Open modals now dim the player and prevent interaction with the
  underlying content until it is closed
- Right-clicking outside of an open modal now closes it instead of
  displaying the browser context menu
- Fixed a regression where right-clicking with the Ruffle context
  menu open would open the browser context menu
2024-06-30 13:23:16 +02:00
Wumbo 158e2f8474 web: Core UI improvements
Dark mode support has been added to the context menu as well as the
the Volume and Save Manager modals. The latter two have also received
significant visual upgrades.
2024-06-30 13:23:16 +02:00
Nathan Adams 7905544296 web: Add onFirstLoad option to installRuffle; use it to configure webpack in selfhosted 2024-06-30 13:09:01 +02:00
Nathan Adams 9d4837547f web: Add (optional) options to installRuffle 2024-06-30 13:09:01 +02:00
Nathan Adams f9b0346973 web: Remove the publicAPI.registerSource(name) method, it wouldn't work the way you'd expect. Best keep it an implementation detail. 2024-06-30 13:09:01 +02:00
Nathan Adams 09fdbb9c43 web: sourceName of installRuffle should be required 2024-06-30 13:09:01 +02:00
Nathan Adams 97396a1007 web: Changed installRuffle to always work with window.RufflePlayer, saves boilerplate 2024-06-30 13:09:01 +02:00
Nathan Adams 6827d4f086 web: Rename PublicAPI.negotiate() to a more accurate installRuffle() 2024-06-30 13:09:01 +02:00
Crowdin Bot c07f5cfca5 chore: Update translations from Crowdin 2024-06-30 10:13:29 +02:00
TÖRÖK Attila 9d11eb9816 web/extension: Fix AMO submission status checking 2024-06-30 10:06:27 +02:00
Crowdin Bot f2bbd241f9 chore: Update translations from Crowdin 2024-06-29 10:18:55 +02:00
TÖRÖK Attila 7374c89ee8 web/extension: Check last version on AMO, skip submission if not yet approved 2024-06-29 09:16:31 +02:00
Daniel Jacobs 948987b743 extension: Only show onboarding page on first install 2024-06-28 13:31:23 -04:00
Crowdin Bot 02f15fd27c chore: Update translations from Crowdin 2024-06-28 00:59:58 +02:00
Crowdin Bot c470adfe71 chore: Update translations from Crowdin 2024-06-27 10:06:38 +02:00
Crowdin Bot c6ed64cced chore: Update translations from Crowdin 2024-06-26 03:16:13 +02:00
Daniel Jacobs 38e48099d0 chore: Fix formatting 2024-06-24 20:17:34 -04:00
Daniel Jacobs 3b6cc37324 extension: On Chrome, adding permissions for a specific site adds many 2024-06-24 20:17:34 -04:00
Daniel Jacobs 11d73474b2 extension: If popup ping fails, re-send after 0.2 seconds 2024-06-24 20:17:34 -04:00
Daniel Jacobs 20d6e1d4cc extension: Separate permission button from other buttons 2024-06-24 20:17:34 -04:00
Daniel Jacobs 8af4454012 extension: Reload the tab when non-<all_urls> host permission added 2024-06-24 20:17:34 -04:00
Daniel Jacobs 23d8e5617c extension: Revert non-working check 2024-06-24 20:17:34 -04:00
Daniel Jacobs cee3046216 extension: Address review comments 2024-06-24 20:17:34 -04:00
Daniel Jacobs eb64cd530d extension: Make onboarding page look nicer 2024-06-24 20:17:34 -04:00
Daniel Jacobs 9aa027311d extension: Upgrade Firefox to Manifest V3 2024-06-24 20:17:34 -04:00
Crowdin Bot e83e39ad27 chore: Update translations from Crowdin 2024-06-25 00:26:30 +02:00
dependabot[bot] 2f7fa169a9 build(deps-dev): bump the npm-minor group in /web with 3 updates
Bumps the npm-minor group in /web with 3 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin), [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) and [mocha](https://github.com/mochajs/mocha).


Updates `@typescript-eslint/eslint-plugin` from 7.13.1 to 7.14.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.14.1/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 7.13.1 to 7.14.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.14.1/packages/parser)

Updates `mocha` from 10.4.0 to 10.5.0
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v10.4.0...v10.5.0)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 23:19:22 +02:00
dependabot[bot] c4f478c30a build(deps-dev): bump replace-in-file from 7.2.0 to 8.0.0 in /web
Bumps [replace-in-file](https://github.com/adamreisnz/replace-in-file) from 7.2.0 to 8.0.0.
- [Release notes](https://github.com/adamreisnz/replace-in-file/releases)
- [Changelog](https://github.com/adamreisnz/replace-in-file/blob/main/CHANGELOG.md)
- [Commits](https://github.com/adamreisnz/replace-in-file/commits)

---
updated-dependencies:
- dependency-name: replace-in-file
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 15:43:04 +02:00
dependabot[bot] f455037d34 build(deps): bump the npm-minor group in /web with 7 updates
Bumps the npm-minor group in /web with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [stylelint-config-standard](https://github.com/stylelint/stylelint-config-standard) | `36.0.0` | `36.0.1` |
| [typescript](https://github.com/Microsoft/TypeScript) | `5.4.5` | `5.5.2` |
| [tsx](https://github.com/privatenumber/tsx) | `4.15.6` | `4.15.7` |
| [chromedriver](https://github.com/giggio/node-chromedriver) | `126.0.2` | `126.0.3` |
| [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) | `10.0.6` | `10.0.7` |
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | `48.2.12` | `48.4.0` |
| [typedoc](https://github.com/TypeStrong/TypeDoc) | `0.25.13` | `0.26.2` |


Updates `stylelint-config-standard` from 36.0.0 to 36.0.1
- [Release notes](https://github.com/stylelint/stylelint-config-standard/releases)
- [Changelog](https://github.com/stylelint/stylelint-config-standard/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint-config-standard/compare/36.0.0...36.0.1)

Updates `typescript` from 5.4.5 to 5.5.2
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.4.5...v5.5.2)

Updates `tsx` from 4.15.6 to 4.15.7
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](https://github.com/privatenumber/tsx/compare/v4.15.6...v4.15.7)

Updates `chromedriver` from 126.0.2 to 126.0.3
- [Commits](https://github.com/giggio/node-chromedriver/compare/126.0.2...126.0.3)

Updates `@types/mocha` from 10.0.6 to 10.0.7
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

Updates `eslint-plugin-jsdoc` from 48.2.12 to 48.4.0
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v48.2.12...v48.4.0)

Updates `typedoc` from 0.25.13 to 0.26.2
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases)
- [Changelog](https://github.com/TypeStrong/typedoc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/TypeDoc/compare/v0.25.13...v0.26.2)

---
updated-dependencies:
- dependency-name: stylelint-config-standard
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: tsx
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: typedoc
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 15:12:48 +02:00
Nathan Adams 575481f9cc web: Don't use direct eval, use indirect new Function(...) instead 2024-06-23 00:26:55 +02:00
riku 036839fb1f
extension: Fix 4399 CORS and Flash detection issue (close #13943) (#16750)
Co-authored-by: Zhentao Lu <zhentaolu@microsoft.com>
2024-06-21 15:05:53 +00:00
Crowdin Bot 43b2cced0a chore: Update translations from Crowdin 2024-06-21 10:17:03 +02:00
dependabot[bot] f63641678c build(deps): bump the npm-minor group in /web with 9 updates
Bumps the npm-minor group in /web with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [@wdio/cli](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-cli) | `8.38.2` | `8.39.0` |
| [@wdio/local-runner](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-local-runner) | `8.38.2` | `8.39.0` |
| [@wdio/mocha-framework](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-mocha-framework) | `8.38.2` | `8.39.0` |
| [@wdio/spec-reporter](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-spec-reporter) | `8.38.2` | `8.39.0` |
| [@wdio/static-server-service](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-static-server-service) | `8.38.2` | `8.39.0` |
| [webpack](https://github.com/webpack/webpack) | `5.92.0` | `5.92.1` |
| [chromedriver](https://github.com/giggio/node-chromedriver) | `126.0.1` | `126.0.2` |
| [wasm-feature-detect](https://github.com/GoogleChromeLabs/wasm-feature-detect) | `1.6.1` | `1.6.2` |
| [webdriverio](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/webdriverio) | `8.38.2` | `8.39.0` |


Updates `@wdio/cli` from 8.38.2 to 8.39.0
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v8.39.0/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v8.39.0/packages/wdio-cli)

Updates `@wdio/local-runner` from 8.38.2 to 8.39.0
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v8.39.0/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v8.39.0/packages/wdio-local-runner)

Updates `@wdio/mocha-framework` from 8.38.2 to 8.39.0
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v8.39.0/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v8.39.0/packages/wdio-mocha-framework)

Updates `@wdio/spec-reporter` from 8.38.2 to 8.39.0
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v8.39.0/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v8.39.0/packages/wdio-spec-reporter)

Updates `@wdio/static-server-service` from 8.38.2 to 8.39.0
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v8.39.0/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v8.39.0/packages/wdio-static-server-service)

Updates `webpack` from 5.92.0 to 5.92.1
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.92.0...v5.92.1)

Updates `chromedriver` from 126.0.1 to 126.0.2
- [Commits](https://github.com/giggio/node-chromedriver/compare/126.0.1...126.0.2)

Updates `wasm-feature-detect` from 1.6.1 to 1.6.2
- [Release notes](https://github.com/GoogleChromeLabs/wasm-feature-detect/releases)
- [Commits](https://github.com/GoogleChromeLabs/wasm-feature-detect/commits/v1.6.2)

Updates `webdriverio` from 8.38.2 to 8.39.0
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v8.39.0/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v8.39.0/packages/webdriverio)

---
updated-dependencies:
- dependency-name: "@wdio/cli"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: "@wdio/local-runner"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: "@wdio/mocha-framework"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: "@wdio/spec-reporter"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: "@wdio/static-server-service"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: wasm-feature-detect
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: webdriverio
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-20 11:45:12 +02:00
Crowdin Bot c16b03f010 chore: Update translations from Crowdin 2024-06-19 23:56:21 +02:00
Kamil Jarosz 60ee0379b7 web: Add clipboard modal informing about shortcuts
This modal informs the user that they can use shortcuts
for copy, cut, and paste instead of using the context menu.
This modal is meant to be displayed when the browser
does not support reading the clipboard,
or the user denies permission to the clipboard.
2024-06-19 00:15:07 +02:00
Kamil Jarosz c2777db656 web: Support async onClick callbacks for context menus
The current implementation was synchronous only, so that when
an async callback was used, the menu was being disposed prematurely.
This patch ensures that in case of asynchronous callbacks,
the menu will be disposed after they finish.
2024-06-19 00:15:07 +02:00
Kamil Jarosz e75851f4fa Revert "web: No longer set the `web_sys_unstable_apis` config variable"
This reverts commit 5b7c48e43d.

Co-authored-by: TÖRÖK Attila <torokati44@gmail.com>
2024-06-19 00:15:07 +02:00
dependabot[bot] c8fdc59bfc build(deps-dev): bump the npm-minor group in /web with 3 updates
Bumps the npm-minor group in /web with 3 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin), [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) and [@types/firefox-webext-browser](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/firefox-webext-browser).


Updates `@typescript-eslint/eslint-plugin` from 7.13.0 to 7.13.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.13.1/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 7.13.0 to 7.13.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.13.1/packages/parser)

Updates `@types/firefox-webext-browser` from 120.0.3 to 120.0.4
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/firefox-webext-browser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: "@types/firefox-webext-browser"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 23:43:26 +02:00
dependabot[bot] 6d9e1e7d20 build(deps-dev): bump the npm-minor group in /web with 5 updates
Bumps the npm-minor group in /web with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [prettier](https://github.com/prettier/prettier) | `3.3.1` | `3.3.2` |
| [webpack](https://github.com/webpack/webpack) | `5.91.0` | `5.92.0` |
| [tsx](https://github.com/privatenumber/tsx) | `4.14.0` | `4.15.6` |
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | `48.2.9` | `48.2.12` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.2.13` | `5.3.1` |


Updates `prettier` from 3.3.1 to 3.3.2
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.3.1...3.3.2)

Updates `webpack` from 5.91.0 to 5.92.0
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.91.0...v5.92.0)

Updates `tsx` from 4.14.0 to 4.15.6
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](https://github.com/privatenumber/tsx/compare/v4.14.0...v4.15.6)

Updates `eslint-plugin-jsdoc` from 48.2.9 to 48.2.12
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v48.2.9...v48.2.12)

Updates `vite` from 5.2.13 to 5.3.1
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.3.1/packages/vite)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: tsx
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 18:55:14 +02:00
Daniel Jacobs 22c73e9536 extension: Use nodenext target for tools instead of commonjs 2024-06-13 19:24:46 -04:00
Daniel Jacobs f4fd851298 extension: Fix zip tool by adding import.meta.url back 2024-06-13 19:24:46 -04:00
Nathan Adams 148fa6bdf1 web: Fixed some remaining references to tools-as-js 2024-06-12 23:33:01 +02:00
Nathan Adams 8c753972ca web: Replace ts-node with tsx (mostly) 2024-06-12 23:33:01 +02:00
Nathan Adams 9f121947e7 web: Convert extension tools to typescript 2024-06-12 23:33:01 +02:00