From cc65ad04ab16dca1eadfc48eef54ebcf01be045a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ra=C4=8D=C3=A1k?= Date: Wed, 15 May 2024 12:18:52 +0200 Subject: [PATCH] Use tsx for scripts and local admin server Another attempt at doing this. Set `GIT_CMS_DIR` dynamically to make it work both when the code runs from the top level dir with `tsx` and from the `itsJustJavascript` dir. --- .gitpod.yml | 3 +- Makefile | 13 +- db/readme.md | 2 +- db/tests/run-db-tests.sh | 2 +- docs/grapher-admin-server.md | 4 +- gitCms/GitCmsConstants.ts | 20 +- package.json | 26 +-- tsconfig.tsx.json | 8 + yarn.lock | 390 ++++++++++++++++++++++++++--------- 9 files changed, 345 insertions(+), 123 deletions(-) create mode 100644 tsconfig.tsx.json diff --git a/.gitpod.yml b/.gitpod.yml index 86bba6ca20d..9891d09bdb7 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -31,13 +31,12 @@ tasks: echo VITE_DEV_URL=$(gp url 8090) >> .env echo BAKED_BASE_URL=$(gp url 3030) >> .env echo ADMIN_BASE_URL=$(gp url 3030) >> .env - yarn startTscServer # wait for initial-setup (above) to finish and then start vite server - init: gp sync-await initial-setup command: yarn startViteServer # wait for initial-setup (above) to finish and then start admin server - init: gp sync-await initial-setup - command: yarn startAdminServer + command: yarn startAdminDevServer github: prebuilds: diff --git a/Makefile b/Makefile index 521b9fbae5b..233a9a93cc3 100644 --- a/Makefile +++ b/Makefile @@ -55,7 +55,6 @@ up: require create-if-missing.env ../owid-content tmp-downloads/owid_metadata.sq @echo '==> Building grapher' yarn install yarn lerna run build - yarn run tsc -b @echo '==> Starting dev environment' @mkdir -p logs @@ -64,7 +63,7 @@ up: require create-if-missing.env ../owid-content tmp-downloads/owid_metadata.sq set remain-on-exit on \; \ set-option -g default-shell $(SCRIPT_SHELL) \; \ new-window -n admin \ - 'devTools/docker/wait-for-mysql.sh && yarn run tsc-watch -b --onSuccess "yarn startAdminServer"' \; \ + 'devTools/docker/wait-for-mysql.sh && yarn startAdminDevServer' \; \ set remain-on-exit on \; \ new-window -n vite 'yarn run startSiteFront' \; \ set remain-on-exit on \; \ @@ -83,13 +82,12 @@ up.devcontainer: create-if-missing.env.devcontainer tmp-downloads/owid_metadata. @echo '==> Building grapher' yarn install yarn lerna run build - yarn run tsc -b @echo '==> Starting dev environment' @mkdir -p logs tmux new-session -s grapher \ -n admin \ - 'devTools/docker/wait-for-mysql.sh && yarn run tsc-watch -b --onSuccess "yarn startAdminServer"' \; \ + 'devTools/docker/wait-for-mysql.sh && yarn startAdminDevServer' \; \ set remain-on-exit on \; \ new-window -n vite 'yarn run startSiteFront' \; \ set remain-on-exit on \; \ @@ -109,7 +107,6 @@ up.full: require create-if-missing.env.full ../owid-content tmp-downloads/owid_m @echo '==> Building grapher' yarn install yarn lerna run build - yarn run tsc -b @echo '==> Starting dev environment' tmux new-session -s grapher \ @@ -117,7 +114,7 @@ up.full: require create-if-missing.env.full ../owid-content tmp-downloads/owid_m set remain-on-exit on \; \ set-option -g default-shell $(SCRIPT_SHELL) \; \ new-window -n admin \ - 'devTools/docker/wait-for-mysql.sh && yarn run tsc-watch -b --onSuccess "yarn startAdminServer"' \; \ + 'devTools/docker/wait-for-mysql.sh && yarn startAdminDevServer' \; \ set remain-on-exit on \; \ new-window -n vite 'yarn run startSiteFront' \; \ set remain-on-exit on \; \ @@ -134,7 +131,7 @@ up.full: require create-if-missing.env.full ../owid-content tmp-downloads/owid_m migrate: @echo '==> Running DB migrations' - rm -rf itsJustJavascript && yarn && yarn buildLerna && yarn buildTsc && yarn runDbMigrations + yarn && yarn buildLerna && yarn runDbMigrations refresh: @echo '==> Downloading chart data' @@ -148,7 +145,7 @@ refresh: refresh.pageviews: @echo '==> Refreshing pageviews' - yarn && yarn buildLerna && yarn buildTsc && yarn refreshPageviews + yarn && yarn refreshPageviews sync-images: sync-images.preflight-check @echo '==> Syncing images to R2' diff --git a/db/readme.md b/db/readme.md index 9372a5d8bdb..7803c83baae 100644 --- a/db/readme.md +++ b/db/readme.md @@ -31,7 +31,7 @@ Run: yarn typeorm migration:create db/migration/MigrationName ``` -And then populate the file with the SQL statements to alter the tables, using [past migration files](./migration) for reference if needed. Don't forget to rebuild the JavaScript artifacts now from TypeScript view `yarn buildTsc`, then run migrations with `yarn runDbMigrations`. +And then populate the file with the SQL statements to alter the tables, using [past migration files](./migration) for reference if needed. Then run migrations with `yarn runDbMigrations`. Make sure you write a **down** migration in case there is any chance things can go wrong we'd need to revert it. diff --git a/db/tests/run-db-tests.sh b/db/tests/run-db-tests.sh index 16cb9f885c9..26b73b249a7 100755 --- a/db/tests/run-db-tests.sh +++ b/db/tests/run-db-tests.sh @@ -19,7 +19,7 @@ docker compose -f docker-compose.dbtests.yml up -d echo '==> Running migrations' -yarn typeorm migration:run -d itsJustJavascript/db/tests/dataSource.dbtests.js +yarn tsx node_modules/typeorm/cli.js migration:run -d db/tests/dataSource.dbtests.ts echo '==> Running tests' if ! yarn run jest --config=jest.db.config.js --runInBand # runInBand runs multiple test files serially - useful to avoid weird race conditions diff --git a/docs/grapher-admin-server.md b/docs/grapher-admin-server.md index 263416358dd..0e0e4a70468 100644 --- a/docs/grapher-admin-server.md +++ b/docs/grapher-admin-server.md @@ -11,8 +11,8 @@ cp .env.example .env Then run the three development processes: ```sh -yarn startTscServer -yarn startAdminServer +yarn startLernaWatcher +yarn startAdminDevServer yarn startViteServer ``` diff --git a/gitCms/GitCmsConstants.ts b/gitCms/GitCmsConstants.ts index 2a2ac02d2c3..276a9c3ef71 100644 --- a/gitCms/GitCmsConstants.ts +++ b/gitCms/GitCmsConstants.ts @@ -1,3 +1,6 @@ +import * as path from "path" +import * as fs from "node:fs" + export const GIT_CMS_DEFAULT_BRANCH = "master" export const GIT_CMS_READ_ROUTE = "/git-cms-read" export const GIT_CMS_WRITE_ROUTE = "/git-cms-write" @@ -5,9 +8,22 @@ export const GIT_CMS_DELETE_ROUTE = "/git-cms-delete" export const GIT_CMS_PULL_ROUTE = "/git-cms-pull" export const GIT_CMS_GLOB_ROUTE = "/git-cms-glob" +function findNearestGitRepo(startPath: string): string | null { + let currentPath = startPath + while (currentPath !== path.parse(currentPath).root) { + const gitPath = path.join(currentPath, ".git") + if (fs.existsSync(gitPath)) { + return currentPath + } + currentPath = path.dirname(currentPath) + } + return null +} + +const repoPath = findNearestGitRepo(__dirname) + // todo: refactor GitCmsServer to be a class, and pass this in as a top level param -export const GIT_CMS_DIR = - typeof __dirname !== "undefined" ? __dirname + "/../../../owid-content" : "" +export const GIT_CMS_DIR = repoPath ? repoPath + "/../owid-content" : "" export const GIT_CMS_REPO_URL = `https://github.com/owid/owid-content` export const GIT_CMS_BASE_ROUTE = "/admin/" diff --git a/package.json b/package.json index d7a571534e8..f597f635dc7 100644 --- a/package.json +++ b/package.json @@ -6,31 +6,31 @@ }, "packageManager": "yarn@4.1.1", "scripts": { - "batchTagWithGpt": "node --enable-source-maps ./itsJustJavascript/baker/batchTagWithGpt.js", - "buildAndDeploySite": "node --enable-source-maps ./itsJustJavascript/baker/buildAndDeploySite.js", + "batchTagWithGpt": "tsx --tsconfig tsconfig.tsx.json baker/batchTagWithGpt.ts", + "buildAndDeploySite": "tsx --tsconfig tsconfig.tsx.json baker/buildAndDeploySite.ts", "buildCoverage": "jest --coverage=true --coverageProvider=v8", - "buildLocalBake": "node --enable-source-maps ./itsJustJavascript/baker/buildLocalBake.js", + "buildLocalBake": "tsx --tsconfig tsconfig.tsx.json baker/buildLocalBake.ts", "buildTsc": "tsc -b -verbose", "buildLerna": "lerna run build", "buildViteAdmin": "vite build --config vite.config-admin.mts", "buildViteSite": "vite build --config vite.config-site.mts", "buildVite": "yarn buildViteSite && yarn buildViteAdmin", - "bakeGdocPosts": "node --enable-source-maps ./itsJustJavascript/baker/bakeGdocPosts.js", + "bakeGdocPosts": "tsx --tsconfig tsconfig.tsx.json baker/bakeGdocPosts.ts", "cleanTsc": "rm -rf itsJustJavascript && tsc -b -clean", "deployContentPreview": "PREVIEW_BRANCH=${PREVIEW_BRANCH:-} ./ops/buildkite/deploy-content-preview", - "fetchServerStatus": "node --enable-source-maps ./itsJustJavascript/baker/liveCommit.js", + "fetchServerStatus": "tsx --tsconfig tsconfig.tsx.json baker/liveCommit.ts", "fixLint": "eslint . --fix", "fixPrettierAll": "yarn prettier --write \"**/*.{tsx,ts,jsx,js,json,md,html,css,scss,yml}\"", - "runRegionsUpdater": "node --enable-source-maps ./itsJustJavascript/devTools/regionsUpdater/update.js", - "runDbMigrations": "yarn typeorm migration:run -d itsJustJavascript/db/dataSource.js", - "refreshPageviews": "node --enable-source-maps ./itsJustJavascript/db/refreshPageviewsFromDatasette.js", - "revertLastDbMigration": "yarn typeorm migration:revert -d itsJustJavascript/db/dataSource.js", + "runRegionsUpdater": "tsx --tsconfig tsconfig.tsx.json devTools/regionsUpdater/update.ts", + "runDbMigrations": "tsx node_modules/typeorm/cli.js migration:run -d db/dataSource.ts", + "refreshPageviews": "tsx --tsconfig tsconfig.tsx.json db/refreshPageviewsFromDatasette.ts", + "revertLastDbMigration": "tsx node_modules/typeorm/cli.js migration:revert -d db/dataSource.ts", "startAdminServer": "node --enable-source-maps ./itsJustJavascript/adminSiteServer/app.js", + "startAdminDevServer": "tsx watch --tsconfig tsconfig.tsx.json adminSiteServer/app.tsx", "startLocalCloudflareFunctions": "wrangler pages dev localBake --compatibility-date 2023-10-09", "startDeployQueueServer": "node --enable-source-maps ./itsJustJavascript/baker/startDeployQueueServer.js", "startLernaWatcher": "lerna watch --scope '@ourworldindata/*' -- lerna run build --scope=\\$LERNA_PACKAGE_NAME --include-dependents", - "startTmuxServer": "node_modules/tmex/tmex dev \"yarn startTscServer\" \"yarn startLernaWatcher\" \"yarn startAdminServer\" \"yarn startViteServer\"", - "startTscServer": "tsc -b -verbose -watch", + "startTmuxServer": "node_modules/tmex/tmex dev \"yarn startLernaWatcher\" \"yarn startAdminDevServer\" \"yarn startViteServer\"", "startViteServer": "vite dev", "startSiteFront": "./devTools/vite/startVite.sh", "startLocalBakeServer": "http-server ./localBake -p 3000", @@ -39,7 +39,7 @@ "testLint": "eslint .", "testPrettierAll": "yarn prettier --check \"**/*.{tsx,ts,jsx,js,json,md,html,css,scss,yml}\"", "testJest": "lerna run buildTests && jest", - "testSiteNavigation": "node --enable-source-maps ./itsJustJavascript/devTools/navigationTest/navigationTest.js", + "testSiteNavigation": "tsx --tsconfig tsconfig.tsx.json devTools/navigationTest/navigationTest.ts", "generateDbTypes": "npx @rmp135/sql-ts -c db/sql-ts/sql-ts-config.json" }, "dependencies": { @@ -249,7 +249,7 @@ "sass": "^1.69.5", "tmex": "^1.0.8", "topojson-server": "^3.0.1", - "tsc-watch": "^6.0.4", + "tsx": "^4.10.2", "vite": "^4.4.10", "vite-plugin-checker": "^0.6.4", "vite-plugin-warmup": "^0.1.0", diff --git a/tsconfig.tsx.json b/tsconfig.tsx.json new file mode 100644 index 00000000000..9509e524a74 --- /dev/null +++ b/tsconfig.tsx.json @@ -0,0 +1,8 @@ +// The top-level config has empty "files", which doesn't work for tsx +// (https://tsx.is/). Seems to be only a problem when using decorators in our +// code: +// https://github.com/privatenumber/tsx/issues/393 +{ + "extends": "./tsconfig.json", + "include": ["**/*"] +} diff --git a/yarn.lock b/yarn.lock index e46903c0d71..a428e66593a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1861,6 +1861,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/aix-ppc64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/aix-ppc64@npm:0.20.2" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/android-arm64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/android-arm64@npm:0.17.19" @@ -1875,6 +1882,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/android-arm64@npm:0.20.2" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/android-arm@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/android-arm@npm:0.17.19" @@ -1889,6 +1903,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/android-arm@npm:0.20.2" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@esbuild/android-x64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/android-x64@npm:0.17.19" @@ -1903,6 +1924,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/android-x64@npm:0.20.2" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + "@esbuild/darwin-arm64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/darwin-arm64@npm:0.17.19" @@ -1917,6 +1945,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/darwin-arm64@npm:0.20.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/darwin-x64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/darwin-x64@npm:0.17.19" @@ -1931,6 +1966,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/darwin-x64@npm:0.20.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@esbuild/freebsd-arm64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/freebsd-arm64@npm:0.17.19" @@ -1945,6 +1987,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/freebsd-arm64@npm:0.20.2" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/freebsd-x64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/freebsd-x64@npm:0.17.19" @@ -1959,6 +2008,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/freebsd-x64@npm:0.20.2" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/linux-arm64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/linux-arm64@npm:0.17.19" @@ -1973,6 +2029,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-arm64@npm:0.20.2" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/linux-arm@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/linux-arm@npm:0.17.19" @@ -1987,6 +2050,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-arm@npm:0.20.2" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@esbuild/linux-ia32@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/linux-ia32@npm:0.17.19" @@ -2001,6 +2071,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ia32@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-ia32@npm:0.20.2" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/linux-loong64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/linux-loong64@npm:0.17.19" @@ -2015,6 +2092,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-loong64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-loong64@npm:0.20.2" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + "@esbuild/linux-mips64el@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/linux-mips64el@npm:0.17.19" @@ -2029,6 +2113,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-mips64el@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-mips64el@npm:0.20.2" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + "@esbuild/linux-ppc64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/linux-ppc64@npm:0.17.19" @@ -2043,6 +2134,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ppc64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-ppc64@npm:0.20.2" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/linux-riscv64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/linux-riscv64@npm:0.17.19" @@ -2057,6 +2155,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-riscv64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-riscv64@npm:0.20.2" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + "@esbuild/linux-s390x@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/linux-s390x@npm:0.17.19" @@ -2071,6 +2176,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-s390x@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-s390x@npm:0.20.2" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + "@esbuild/linux-x64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/linux-x64@npm:0.17.19" @@ -2085,6 +2197,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-x64@npm:0.20.2" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/netbsd-x64@npm:0.17.19" @@ -2099,6 +2218,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/netbsd-x64@npm:0.20.2" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/openbsd-x64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/openbsd-x64@npm:0.17.19" @@ -2113,6 +2239,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/openbsd-x64@npm:0.20.2" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/sunos-x64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/sunos-x64@npm:0.17.19" @@ -2127,6 +2260,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/sunos-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/sunos-x64@npm:0.20.2" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + "@esbuild/win32-arm64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/win32-arm64@npm:0.17.19" @@ -2141,6 +2281,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/win32-arm64@npm:0.20.2" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/win32-ia32@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/win32-ia32@npm:0.17.19" @@ -2155,6 +2302,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-ia32@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/win32-ia32@npm:0.20.2" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/win32-x64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/win32-x64@npm:0.17.19" @@ -2169,6 +2323,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/win32-x64@npm:0.20.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -8736,7 +8897,7 @@ __metadata: languageName: node linkType: hard -"duplexer@npm:^0.1.1, duplexer@npm:^0.1.2, duplexer@npm:~0.1.1": +"duplexer@npm:^0.1.1, duplexer@npm:^0.1.2": version: 0.1.2 resolution: "duplexer@npm:0.1.2" checksum: 10/62ba61a830c56801db28ff6305c7d289b6dc9f859054e8c982abd8ee0b0a14d2e9a8e7d086ffee12e868d43e2bbe8a964be55ddbd8c8957714c87373c7a4f9b0 @@ -9267,6 +9428,86 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:~0.20.2": + version: 0.20.2 + resolution: "esbuild@npm:0.20.2" + dependencies: + "@esbuild/aix-ppc64": "npm:0.20.2" + "@esbuild/android-arm": "npm:0.20.2" + "@esbuild/android-arm64": "npm:0.20.2" + "@esbuild/android-x64": "npm:0.20.2" + "@esbuild/darwin-arm64": "npm:0.20.2" + "@esbuild/darwin-x64": "npm:0.20.2" + "@esbuild/freebsd-arm64": "npm:0.20.2" + "@esbuild/freebsd-x64": "npm:0.20.2" + "@esbuild/linux-arm": "npm:0.20.2" + "@esbuild/linux-arm64": "npm:0.20.2" + "@esbuild/linux-ia32": "npm:0.20.2" + "@esbuild/linux-loong64": "npm:0.20.2" + "@esbuild/linux-mips64el": "npm:0.20.2" + "@esbuild/linux-ppc64": "npm:0.20.2" + "@esbuild/linux-riscv64": "npm:0.20.2" + "@esbuild/linux-s390x": "npm:0.20.2" + "@esbuild/linux-x64": "npm:0.20.2" + "@esbuild/netbsd-x64": "npm:0.20.2" + "@esbuild/openbsd-x64": "npm:0.20.2" + "@esbuild/sunos-x64": "npm:0.20.2" + "@esbuild/win32-arm64": "npm:0.20.2" + "@esbuild/win32-ia32": "npm:0.20.2" + "@esbuild/win32-x64": "npm:0.20.2" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10/663215ab7e599651e00d61b528a63136e1f1d397db8b9c3712540af928c9476d61da95aefa81b7a8dfc7a9fdd7616fcf08395c27be68be8c99953fb461863ce4 + languageName: node + linkType: hard + "escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -9575,21 +9816,6 @@ __metadata: languageName: node linkType: hard -"event-stream@npm:=3.3.4": - version: 3.3.4 - resolution: "event-stream@npm:3.3.4" - dependencies: - duplexer: "npm:~0.1.1" - from: "npm:~0" - map-stream: "npm:~0.1.0" - pause-stream: "npm:0.0.11" - split: "npm:0.3" - stream-combiner: "npm:~0.0.4" - through: "npm:~2.3.1" - checksum: 10/48ea0e17df89ff45778c25e7111a6691401c902162823ddd7656d83fc972e75380f789f7a48f272f50fe7015420cc04f835d458560bf95e34b2c7a479570c8fb - languageName: node - linkType: hard - "event-target-shim@npm:^5.0.0": version: 5.0.1 resolution: "event-target-shim@npm:5.0.1" @@ -10175,13 +10401,6 @@ __metadata: languageName: node linkType: hard -"from@npm:~0": - version: 0.1.7 - resolution: "from@npm:0.1.7" - checksum: 10/b85125b7890489656eb2e4f208f7654a93ec26e3aefaf3bbbcc0d496fc1941e4405834fcc9fe7333192aa2187905510ace70417bbf9ac6f6f4784a731d986939 - languageName: node - linkType: hard - "fs-constants@npm:^1.0.0": version: 1.0.0 resolution: "fs-constants@npm:1.0.0" @@ -10247,6 +10466,16 @@ __metadata: languageName: node linkType: hard +"fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10/4c1ade961ded57cdbfbb5cac5106ec17bc8bccd62e16343c569a0ceeca83b9dfef87550b4dc5cbb89642da412b20c5071f304c8c464b80415446e8e155a038c0 + conditions: os=darwin + languageName: node + linkType: hard + "fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": version: 2.3.2 resolution: "fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin::version=2.3.2&hash=df0bf1" @@ -10256,6 +10485,15 @@ __metadata: languageName: node linkType: hard +"fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + "function-bind@npm:^1.1.2": version: 1.1.2 resolution: "function-bind@npm:1.1.2" @@ -10471,6 +10709,15 @@ __metadata: languageName: node linkType: hard +"get-tsconfig@npm:^4.7.3": + version: 4.7.5 + resolution: "get-tsconfig@npm:4.7.5" + dependencies: + resolve-pkg-maps: "npm:^1.0.0" + checksum: 10/de7de5e4978354e8e6d9985baf40ea32f908a13560f793bc989930c229cc8d5c3f7b6b2896d8e43eb1a9b4e9e30018ef4b506752fd2a4b4d0dfee4af6841b119 + languageName: node + linkType: hard + "getopts@npm:2.3.0": version: 2.3.0 resolution: "getopts@npm:2.3.0" @@ -10995,7 +11242,7 @@ __metadata: topojson-client: "npm:^3.1.0" topojson-server: "npm:^3.0.1" ts-pattern: "npm:^5.0.5" - tsc-watch: "npm:^6.0.4" + tsx: "npm:^4.10.2" typeorm: "npm:^0.3.20" typescript: "npm:~5.4.2" unified: "npm:^9.0" @@ -13767,13 +14014,6 @@ __metadata: languageName: node linkType: hard -"map-stream@npm:~0.1.0": - version: 0.1.0 - resolution: "map-stream@npm:0.1.0" - checksum: 10/f04a07041dccdf8140a4a6613e4731e917153ee031d3c837cb32ea7d609e8fbea538c44053718772f59dd1dca0ce68a5689ad006688612ee720d78bacf5bf24d - languageName: node - linkType: hard - "material-colors@npm:^1.2.1": version: 1.2.6 resolution: "material-colors@npm:1.2.6" @@ -14521,13 +14761,6 @@ __metadata: languageName: node linkType: hard -"node-cleanup@npm:^2.1.2": - version: 2.1.2 - resolution: "node-cleanup@npm:2.1.2" - checksum: 10/eeb831d27d734179ca6aa7504a65fa0debd7c77a883c5dbea2849fb7ed8fa0a3fe3a346926c5b1aaaf5537fd801d03da0efcf20b28385d7150276a9e8a2127a5 - languageName: node - linkType: hard - "node-domexception@npm:1.0.0": version: 1.0.0 resolution: "node-domexception@npm:1.0.0" @@ -15650,15 +15883,6 @@ __metadata: languageName: node linkType: hard -"pause-stream@npm:0.0.11": - version: 0.0.11 - resolution: "pause-stream@npm:0.0.11" - dependencies: - through: "npm:~2.3" - checksum: 10/1407efadfe814b5c487e4b28d6139cb7e03ee5d25fbb5f89a68f2053e81f05ce6b2bec196eeb3d46ef2c856f785016d14816b0d0e3c3abd1b64311c5c20660dc - languageName: node - linkType: hard - "pend@npm:~1.2.0": version: 1.2.0 resolution: "pend@npm:1.2.0" @@ -15997,17 +16221,6 @@ __metadata: languageName: node linkType: hard -"ps-tree@npm:^1.2.0": - version: 1.2.0 - resolution: "ps-tree@npm:1.2.0" - dependencies: - event-stream: "npm:=3.3.4" - bin: - ps-tree: ./bin/ps-tree.js - checksum: 10/0587defdc20c0768fad884623c0204c77e5228878a5cb043676b00529220ec12d9cb6a328a0580767a9909a317bff466fe4530a4676e3d145a9deb3b7fbbeef3 - languageName: node - linkType: hard - "psl@npm:^1.1.33": version: 1.9.0 resolution: "psl@npm:1.9.0" @@ -17455,6 +17668,13 @@ __metadata: languageName: node linkType: hard +"resolve-pkg-maps@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-pkg-maps@npm:1.0.0" + checksum: 10/0763150adf303040c304009231314d1e84c6e5ebfa2d82b7d94e96a6e82bacd1dcc0b58ae257315f3c8adb89a91d8d0f12928241cba2df1680fbe6f60bf99b0e + languageName: node + linkType: hard + "resolve.exports@npm:^2.0.0, resolve.exports@npm:^2.0.2": version: 2.0.2 resolution: "resolve.exports@npm:2.0.2" @@ -18321,15 +18541,6 @@ __metadata: languageName: node linkType: hard -"split@npm:0.3": - version: 0.3.3 - resolution: "split@npm:0.3.3" - dependencies: - through: "npm:2" - checksum: 10/41b397e9fedc984ee1b061780bf173ef72a4f99265ca9cbccd9765b8cc0729eeee6cdeaf70664eb3eb0823e8430db033e50a33050498d75569fc743c6964c84e - languageName: node - linkType: hard - "split@npm:^1.0.1": version: 1.0.1 resolution: "split@npm:1.0.1" @@ -18448,15 +18659,6 @@ __metadata: languageName: node linkType: hard -"stream-combiner@npm:~0.0.4": - version: 0.0.4 - resolution: "stream-combiner@npm:0.0.4" - dependencies: - duplexer: "npm:~0.1.1" - checksum: 10/844b622cfe8b9de45a6007404f613b60aaf85200ab9862299066204242f89a7c8033b1c356c998aa6cfc630f6cd9eba119ec1c6dc1f93e245982be4a847aee7d - languageName: node - linkType: hard - "streamx@npm:^2.15.0": version: 2.15.1 resolution: "streamx@npm:2.15.1" @@ -18467,7 +18669,7 @@ __metadata: languageName: node linkType: hard -"string-argv@npm:0.3.2, string-argv@npm:^0.3.1": +"string-argv@npm:0.3.2": version: 0.3.2 resolution: "string-argv@npm:0.3.2" checksum: 10/f9d3addf887026b4b5f997a271149e93bf71efc8692e7dc0816e8807f960b18bcb9787b45beedf0f97ff459575ee389af3f189d8b649834cac602f2e857e75af @@ -18969,7 +19171,7 @@ __metadata: languageName: node linkType: hard -"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6, through@npm:^2.3.8, through@npm:~2.3, through@npm:~2.3.1": +"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6, through@npm:^2.3.8": version: 2.3.8 resolution: "through@npm:2.3.8" checksum: 10/5da78346f70139a7d213b65a0106f3c398d6bc5301f9248b5275f420abc2c4b1e77c2abc72d218dedc28c41efb2e7c312cb76a7730d04f9c2d37d247da3f4198 @@ -19219,22 +19421,6 @@ __metadata: languageName: node linkType: hard -"tsc-watch@npm:^6.0.4": - version: 6.0.4 - resolution: "tsc-watch@npm:6.0.4" - dependencies: - cross-spawn: "npm:^7.0.3" - node-cleanup: "npm:^2.1.2" - ps-tree: "npm:^1.2.0" - string-argv: "npm:^0.3.1" - peerDependencies: - typescript: "*" - bin: - tsc-watch: dist/lib/tsc-watch.js - checksum: 10/b0e793f63fbb260d4bb94f7fac6cb4b31c7bd710f16cac5018859b87a4550663d404a2cf8478105a48d77f7c72a9cf5568d605381eb6e44b77055e4f9031886a - languageName: node - linkType: hard - "tsconfig-paths@npm:^3.15.0": version: 3.15.0 resolution: "tsconfig-paths@npm:3.15.0" @@ -19308,6 +19494,22 @@ __metadata: languageName: node linkType: hard +"tsx@npm:^4.10.2": + version: 4.10.2 + resolution: "tsx@npm:4.10.2" + dependencies: + esbuild: "npm:~0.20.2" + fsevents: "npm:~2.3.3" + get-tsconfig: "npm:^4.7.3" + dependenciesMeta: + fsevents: + optional: true + bin: + tsx: dist/cli.mjs + checksum: 10/3e399a3fcfa97cabb003af2465ad274175e2f6931559981c1a627a10ed608c1068146f4863ddd0b648ef7a092f17cfe426b53c781bc2ca1cb85bed5288147489 + languageName: node + linkType: hard + "tuf-js@npm:^1.1.7": version: 1.1.7 resolution: "tuf-js@npm:1.1.7"