diff --git a/.github/workflows/deploy-hasura.yml b/.github/workflows/deploy-hasura.yml index 4d84ede7c..f4a24e42d 100644 --- a/.github/workflows/deploy-hasura.yml +++ b/.github/workflows/deploy-hasura.yml @@ -15,7 +15,7 @@ on: branches: - main paths: - - apps/hasura/** + - apps/hasura2/** # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/apps/hasura/.env.example b/apps/hasura2/.env.example similarity index 100% rename from apps/hasura/.env.example rename to apps/hasura2/.env.example diff --git a/apps/hasura/.eslintrc.json b/apps/hasura2/.eslintrc.json similarity index 63% rename from apps/hasura/.eslintrc.json rename to apps/hasura2/.eslintrc.json index 3fe5b13eb..9d5a65af4 100644 --- a/apps/hasura/.eslintrc.json +++ b/apps/hasura2/.eslintrc.json @@ -2,6 +2,6 @@ "extends": ["../../.eslintrc.js"], "root": false, "parserOptions": { - "project": ["./apps/hasura/tsconfig.json"] + "project": ["./apps/hasura2/tsconfig.json"] } } diff --git a/apps/hasura/README.md b/apps/hasura2/README.md similarity index 100% rename from apps/hasura/README.md rename to apps/hasura2/README.md diff --git a/apps/hasura/config.yaml b/apps/hasura2/config.yaml similarity index 100% rename from apps/hasura/config.yaml rename to apps/hasura2/config.yaml diff --git a/apps/hasura/metadata/actions.graphql b/apps/hasura2/metadata/actions.graphql similarity index 100% rename from apps/hasura/metadata/actions.graphql rename to apps/hasura2/metadata/actions.graphql diff --git a/apps/hasura/metadata/actions.yaml b/apps/hasura2/metadata/actions.yaml similarity index 100% rename from apps/hasura/metadata/actions.yaml rename to apps/hasura2/metadata/actions.yaml diff --git a/apps/hasura/metadata/allow_list.yaml b/apps/hasura2/metadata/allow_list.yaml similarity index 100% rename from apps/hasura/metadata/allow_list.yaml rename to apps/hasura2/metadata/allow_list.yaml diff --git a/apps/hasura/metadata/api_limits.yaml b/apps/hasura2/metadata/api_limits.yaml similarity index 100% rename from apps/hasura/metadata/api_limits.yaml rename to apps/hasura2/metadata/api_limits.yaml diff --git a/apps/hasura/metadata/cron_triggers.yaml b/apps/hasura2/metadata/cron_triggers.yaml similarity index 100% rename from apps/hasura/metadata/cron_triggers.yaml rename to apps/hasura2/metadata/cron_triggers.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/artifacts.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/artifacts.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/artifacts.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/artifacts.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/artifacts_by_project.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/artifacts_by_project.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/artifacts_by_project.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/artifacts_by_project.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/artifacts_by_project_v1.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/artifacts_by_project_v1.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/artifacts_by_project_v1.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/artifacts_by_project_v1.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/artifacts_v1.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/artifacts_v1.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/artifacts_v1.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/artifacts_v1.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/code_metrics_by_collection.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/code_metrics_by_collection.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/code_metrics_by_collection.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/code_metrics_by_collection.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/code_metrics_by_project.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/code_metrics_by_project.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/code_metrics_by_project.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/code_metrics_by_project.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/code_metrics_by_project_v1.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/code_metrics_by_project_v1.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/code_metrics_by_project_v1.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/code_metrics_by_project_v1.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/collections.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/collections.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/collections.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/collections.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/collections_v1.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/collections_v1.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/collections_v1.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/collections_v1.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/contracts_v0.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/contracts_v0.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/contracts_v0.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/contracts_v0.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/contracts_v1.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/contracts_v1.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/contracts_v1.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/contracts_v1.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/deployers_by_project.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/deployers_by_project.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/deployers_by_project.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/deployers_by_project.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/event_indexing_status_by_project_v1.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/event_indexing_status_by_project_v1.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/event_indexing_status_by_project_v1.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/event_indexing_status_by_project_v1.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/event_totals_by_project.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/event_totals_by_project.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/event_totals_by_project.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/event_totals_by_project.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/event_types.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/event_types.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/event_types.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/event_types.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/event_types_v1.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/event_types_v1.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/event_types_v1.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/event_types_v1.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_daily_from_artifact.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_daily_from_artifact.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_daily_from_artifact.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_daily_from_artifact.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_daily_from_collection.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_daily_from_collection.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_daily_from_collection.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_daily_from_collection.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_daily_from_project.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_daily_from_project.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_daily_from_project.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_daily_from_project.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_daily_to_artifact.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_daily_to_artifact.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_daily_to_artifact.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_daily_to_artifact.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_daily_to_collection.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_daily_to_collection.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_daily_to_collection.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_daily_to_collection.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_daily_to_project.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_daily_to_project.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_daily_to_project.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_daily_to_project.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_monthly_from_artifact.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_monthly_from_artifact.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_monthly_from_artifact.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_monthly_from_artifact.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_monthly_from_collection.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_monthly_from_collection.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_monthly_from_collection.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_monthly_from_collection.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_monthly_from_project.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_monthly_from_project.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_monthly_from_project.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_monthly_from_project.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_monthly_to_artifact.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_monthly_to_artifact.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_monthly_to_artifact.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_monthly_to_artifact.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_monthly_to_collection.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_monthly_to_collection.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_monthly_to_collection.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_monthly_to_collection.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_monthly_to_project.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_monthly_to_project.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_monthly_to_project.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_monthly_to_project.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_weekly_from_artifact.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_weekly_from_artifact.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_weekly_from_artifact.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_weekly_from_artifact.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_weekly_from_collection.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_weekly_from_collection.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_weekly_from_collection.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_weekly_from_collection.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_weekly_from_project.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_weekly_from_project.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_weekly_from_project.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_weekly_from_project.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_weekly_to_artifact.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_weekly_to_artifact.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_weekly_to_artifact.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_weekly_to_artifact.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_weekly_to_collection.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_weekly_to_collection.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_weekly_to_collection.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_weekly_to_collection.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/events_weekly_to_project.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/events_weekly_to_project.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/events_weekly_to_project.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/events_weekly_to_project.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/first_contribution_to_project.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/first_contribution_to_project.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/first_contribution_to_project.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/first_contribution_to_project.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/last_contribution_to_project.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/last_contribution_to_project.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/last_contribution_to_project.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/last_contribution_to_project.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/onchain_metrics_by_collection.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/onchain_metrics_by_collection.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/onchain_metrics_by_collection.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/onchain_metrics_by_collection.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/onchain_metrics_by_project.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/onchain_metrics_by_project.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/onchain_metrics_by_project.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/onchain_metrics_by_project.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/onchain_metrics_by_project_v1.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/onchain_metrics_by_project_v1.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/onchain_metrics_by_project_v1.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/onchain_metrics_by_project_v1.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/pm_dev_months.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/pm_dev_months.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/pm_dev_months.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/pm_dev_months.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/pm_new_contribs.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/pm_new_contribs.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/pm_new_contribs.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/pm_new_contribs.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/projects.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/projects.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/projects.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/projects.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/projects_by_collection.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/projects_by_collection.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/projects_by_collection.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/projects_by_collection.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/projects_by_collection_v1.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/projects_by_collection_v1.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/projects_by_collection_v1.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/projects_by_collection_v1.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/projects_v1.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/projects_v1.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/projects_v1.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/projects_v1.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/repos_by_project.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/repos_by_project.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/repos_by_project.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/repos_by_project.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/tables.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/tables.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/tables.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/tables.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/users_monthly_to_project.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/users_monthly_to_project.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/users_monthly_to_project.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/users_monthly_to_project.yaml diff --git a/apps/hasura/metadata/databases/cloudsql/tables/users_v1.yaml b/apps/hasura2/metadata/databases/cloudsql/tables/users_v1.yaml similarity index 100% rename from apps/hasura/metadata/databases/cloudsql/tables/users_v1.yaml rename to apps/hasura2/metadata/databases/cloudsql/tables/users_v1.yaml diff --git a/apps/hasura/metadata/databases/databases.yaml b/apps/hasura2/metadata/databases/databases.yaml similarity index 100% rename from apps/hasura/metadata/databases/databases.yaml rename to apps/hasura2/metadata/databases/databases.yaml diff --git a/apps/hasura/metadata/query_collections.yaml b/apps/hasura2/metadata/query_collections.yaml similarity index 100% rename from apps/hasura/metadata/query_collections.yaml rename to apps/hasura2/metadata/query_collections.yaml diff --git a/apps/hasura/metadata/remote_schemas.yaml b/apps/hasura2/metadata/remote_schemas.yaml similarity index 100% rename from apps/hasura/metadata/remote_schemas.yaml rename to apps/hasura2/metadata/remote_schemas.yaml diff --git a/apps/hasura/metadata/version.yaml b/apps/hasura2/metadata/version.yaml similarity index 100% rename from apps/hasura/metadata/version.yaml rename to apps/hasura2/metadata/version.yaml diff --git a/apps/hasura/package.json b/apps/hasura2/package.json similarity index 96% rename from apps/hasura/package.json rename to apps/hasura2/package.json index ca410a98b..e020bd770 100644 --- a/apps/hasura/package.json +++ b/apps/hasura2/package.json @@ -1,5 +1,5 @@ { - "name": "@opensource-observer/hasura", + "name": "@opensource-observer/hasura2", "version": "0.0.1", "description": "API service for OSO", "author": "Kariba Labs", diff --git a/apps/hasura/src/genTables.ts b/apps/hasura2/src/genTables.ts similarity index 100% rename from apps/hasura/src/genTables.ts rename to apps/hasura2/src/genTables.ts diff --git a/apps/hasura/tsconfig.json b/apps/hasura2/tsconfig.json similarity index 100% rename from apps/hasura/tsconfig.json rename to apps/hasura2/tsconfig.json diff --git a/apps/hasura3/.env.example b/apps/hasura3/.env.example new file mode 100644 index 000000000..40a001d1b --- /dev/null +++ b/apps/hasura3/.env.example @@ -0,0 +1,4 @@ + +# Hasura personal access token +# `ddn auth print-pat` +HASURA_DDN_PAT= \ No newline at end of file diff --git a/apps/hasura3/.eslintrc.json b/apps/hasura3/.eslintrc.json new file mode 100644 index 000000000..448d9d30e --- /dev/null +++ b/apps/hasura3/.eslintrc.json @@ -0,0 +1,7 @@ +{ + "extends": ["../../.eslintrc.js"], + "root": false, + "parserOptions": { + "project": ["./apps/hasura3/tsconfig.json"] + } +} diff --git a/apps/hasura3/README.md b/apps/hasura3/README.md new file mode 100644 index 000000000..441b6901f --- /dev/null +++ b/apps/hasura3/README.md @@ -0,0 +1,51 @@ +# Hasura configuration + +This directory stores all configurations for the Hasura deployment. +Hasura is currently setup with only a single subgraph, `oso_subgraph`, +with a single connector `oso_clickhouse`. + +_Note: This only works for Hasura version 3 (aka DDN)._ + +## Setup + +Copy `.env.example` to `.env` and set the environment variables as needed. +You can get your Hasura PAT by running + +```bash +ddn auth print-pat +``` + +In `./oso_subgraph/`, copy `.env.oso_subgraph.example` to `.env.oso_subgraph.cloud` and `.env.oso_subgraph.local`. These need to be configured to your Clickhouse connector deployment. The local deployment will be launched by Docker compose, where was the cloud deployment is hosted by Hasura. + +In `./oso_subgraph/connector/oso_clickhouse`, copy `.env.example` to `.env.cloud` and `.env.local`. Populate with Clickhouse credentials. + +## Sync schema with Clickhouse + +## Configure + +You can modify any files to update the Hasura configuration. +See the +[Hasura docs](https://hasura.io/docs/3.0/) to learn more. + +Note that anything in `./oso_subgraph/metadata/` will be overwritten by the build step. + +## Build + +This will idempotently update table configurations for all tables found in the Clickhouse database. +This needs to be run every time the schema changes. +For more information, see `./src/cli.ts`. + +```bash +pnpm build +``` + +## Deploy + +To reload the database schemas and apply the metadata configurations, run: + +```bash +pnpm run deploy +``` + +For more information on how to manage metadata, see the +[Hasura guide](https://hasura.io/docs/latest/migrations-metadata-seeds/manage-metadata/#reload-metadata). diff --git a/apps/hasura3/globals/auth-config.cloud.hml b/apps/hasura3/globals/auth-config.cloud.hml index 1080ecc36..ad5626951 100644 --- a/apps/hasura3/globals/auth-config.cloud.hml +++ b/apps/hasura3/globals/auth-config.cloud.hml @@ -4,5 +4,5 @@ definition: allowRoleEmulationBy: admin mode: webhook: - url: http://auth-hook.default:8080/webhook/ddn?role=admin - method: Post + url: https://www.opensource.observer/api/v1/auth + method: GET diff --git a/apps/hasura3/package.json b/apps/hasura3/package.json new file mode 100644 index 000000000..4eba91d1b --- /dev/null +++ b/apps/hasura3/package.json @@ -0,0 +1,44 @@ +{ + "name": "@opensource-observer/hasura3", + "version": "0.0.1", + "description": "API service for OSO", + "author": "Kariba Labs", + "license": "Apache-2.0", + "private": true, + "bin": "./dist/src/cli.js", + "main": "./dist/src/index.js", + "types": "./dist/src/index.d.ts", + "type": "module", + "repository": { + "type": "git", + "url": "git+https://github.com/opensource-observer/oso.git" + }, + "engines": { + "node": ">=20" + }, + "scripts": { + "build:ts": "tsc", + "build": "pnpm build:ts && pnpm metadata:update", + "lint": "tsc --noEmit && pnpm lint:eslint && pnpm lint:prettier", + "lint:eslint": "eslint --ignore-path ../../.gitignore --max-warnings 0 .", + "lint:prettier": "prettier --ignore-path ../../.gitignore --log-level warn --check **/*.{js,jsx,ts,tsx,sol,md,json}", + "metadata:update": "dotenv -- node --loader ts-node/esm src/cli.ts", + "metadata:introspect:db": "ddn connector introspect --connector oso_subgraph/connector/oso_clickhouse/connector.local.yaml", + "metadata:sync:db": "ddn connector-link update oso_clickhouse --subgraph oso_subgraph/subgraph.yaml --env-file oso_subgraph/.env.oso_subgraph.local --add-all-resources", + "metadata:build:local": "ddn supergraph build local --output-dir engine --subgraph-env-file oso_subgraph:oso_subgraph/.env.oso_subgraph.local", + "metadata:deploy:cloud": "ddn supergraph build create --supergraph supergraph.cloud.yaml --subgraph-env-file oso_subgraph:oso_subgraph/.env.oso_subgraph.cloud", + "start": "dotenv -- docker compose up --build --watch", + "deploy": "pnpm metadata:update" + }, + "keywords": [], + "devDependencies": { + "@types/node": "^20.14.12", + "dotenv-cli": "^7.4.2", + "ts-node": "^10.9.2", + "typescript": "^5.5.4" + }, + "dependencies": { + "glob": "^11.0.0", + "yaml": "^2.5.0" + } +} diff --git a/apps/hasura3/src/cli.ts b/apps/hasura3/src/cli.ts new file mode 100644 index 000000000..9a53b6d16 --- /dev/null +++ b/apps/hasura3/src/cli.ts @@ -0,0 +1,151 @@ +import path from "node:path"; +import fs from "node:fs/promises"; +import { fileURLToPath } from "node:url"; +import { glob } from "glob"; +import * as yaml from "yaml"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +// YAML file extension +const EXTENSION = ".hml"; +const DOCUMENT_PREFIX = "---\n"; +const DOCUMENT_POSTFIX = ""; +const DOCUMENT_DELIMITER = "\n"; + +// Where to store all table configs +const metadataDir = path.resolve(__dirname, "../oso_subgraph/metadata/"); +// Should map to the tables field in ./metadata/databases/databases.yaml +const metadataGlob = path.format({ + dir: metadataDir, + name: "*", + ext: EXTENSION, +}); + +// Schema for Hasura table configuration +type ModelPermissions = { + kind: "ModelPermissions"; + version: string; + definition: { + modelName: string; + permissions: { + role: string; + select: { + filter: null; + }; + }[]; + }; +}; + +type TypePermissions = { + kind: "TypePermissions"; + version: string; + definition: { + typeName: string; + permissions: { + role: string; + output: { + allowedFields: string[]; + }; + }[]; + }; +}; + +const ensureModelPermissions = (obj: Partial) => { + if (!obj?.definition?.permissions) { + throw new Error("Malformed ModelPermissions"); + } + // Skip if already has anonymous permission + const hasAnon = obj.definition.permissions.find( + (p) => p.role === "anonymous", + ); + if (hasAnon) { + return { ...obj }; + } + + // Add anonymous permission + return { + ...obj, + definition: { + ...obj.definition, + permissions: [ + ...obj.definition.permissions, + { + role: "anonymous", + select: { filter: null }, + }, + ], + }, + }; +}; + +const ensureTypePermissions = (obj: Partial) => { + if (!obj?.definition?.permissions) { + throw new Error("Malformed TypePermissions"); + } + + // We need the admin permission to copy from + const adminPerm = obj.definition.permissions.find((p) => p.role === "admin"); + if (!adminPerm) { + throw new Error("TypePermissions must have pre-existing admin permission"); + } + + // Exclude any pre-existing anonymous permissions + const permsWithoutAnon = obj.definition.permissions.filter( + (p) => p.role !== "anonymous", + ); + + // Copy admin permission to anonymous permissions + return { + ...obj, + definition: { + ...obj.definition, + permissions: [ + ...permsWithoutAnon, + { + role: "anonymous", + output: { + allowedFields: [...adminPerm.output.allowedFields], + }, + }, + ], + }, + }; +}; + +const ensureDocument = (obj: any) => { + if (obj?.kind === "ModelPermissions") { + return ensureModelPermissions(obj); + } else if (obj?.kind === "TypePermissions") { + return ensureTypePermissions(obj); + } else { + return obj; + } +}; + +async function main(): Promise { + // Scan all metadata files + //const allFiles = await fs.readdir(metadataDir, { recursive: false }); + const allFiles = await glob(metadataGlob); + console.log(allFiles); + for (const file of allFiles) { + console.log(`Updating ${file}...`); + const strContents = await fs.readFile(file); + const docs = yaml.parseAllDocuments(strContents.toString()); + const newDocs = docs.map((doc) => { + const docObj = doc.toJSON(); + return ensureDocument(docObj); + }); + const newStrings = newDocs.map( + (d) => DOCUMENT_PREFIX + yaml.stringify(d) + DOCUMENT_POSTFIX, + ); + const newFile = newStrings.join(DOCUMENT_DELIMITER); + await fs.writeFile(file, newFile); + } +} + +main() + .then(() => console.log("Done")) + .catch((e) => { + //console.warn(e); + throw e; + }); diff --git a/apps/hasura3/tsconfig.json b/apps/hasura3/tsconfig.json new file mode 100644 index 000000000..d2365a111 --- /dev/null +++ b/apps/hasura3/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "outDir": "dist", + "target": "ES6", + "module": "NodeNext", + "moduleResolution": "NodeNext", + "declaration": true, + "declarationMap": true, + "esModuleInterop": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "noImplicitAny": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "strict": true, + "strictNullChecks": true, + "strictPropertyInitialization": false + }, + "exclude": ["node_modules"], + "include": ["./src/*.ts", "./src/**/*.ts", "./test"] +} diff --git a/package.json b/package.json index 79076541c..2817f8e4a 100644 --- a/package.json +++ b/package.json @@ -15,13 +15,13 @@ "build:dbt:docs": "poetry run dbt docs generate", "build:docs": "turbo run build --filter=@opensource-observer/docs", "build:frontend": "turbo run build --filter=@opensource-observer/frontend", - "build:hasura": "turbo run build --filter=@opensource-observer/hasura", + "build:hasura": "turbo run build --filter=@opensource-observer/hasura2", "build:ops": "turbo run build --filter=@opensource-observer/ops-*", "copy": "yarn copy:frontend && yarn copy:docs && yarn copy:html", "copy:docs": "mkdir -p ./build/docs/ && cp -r ./apps/docs/build/* ./build/docs/", "copy:frontend": "mkdir -p ./build/ && cp -r ./apps/frontend/out/* ./build/ && cp ./apps/frontend/_redirects ./build/", "copy:html": "find build/ -name '*.html' -type f | grep -v index.html | sed s/\\.html$// | xargs -I _ bash -c 'mkdir -p _ && cp -v _.html _/index.html'", - "deploy:hasura": "turbo run deploy --filter=@opensource-observer/hasura --parallel", + "deploy:hasura": "turbo run deploy --filter=@opensource-observer/hasura2 --parallel", "deploy:site": "turbo run build --filter=@opensource-observer/docs --filter=@opensource-observer/frontend && turbo run deploy --filter=@opensource-observer/frontend && yarn copy", "dev:docs": "turbo run dev --filter=@opensource-observer/docs --parallel", "dev:frontend": "turbo run dev --filter=@opensource-observer/frontend --parallel", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 03f9e2a06..e1e4bcf4e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -321,27 +321,27 @@ importers: specifier: ^5.5.3 version: 5.5.3 - apps/hasura: + apps/hasura3: dependencies: + glob: + specifier: ^11.0.0 + version: 11.0.0 yaml: - specifier: ^2.4.5 - version: 2.4.5 + specifier: ^2.5.0 + version: 2.5.0 devDependencies: '@types/node': - specifier: ^20.14.10 - version: 20.14.10 + specifier: ^20.14.12 + version: 20.14.12 dotenv-cli: specifier: ^7.4.2 version: 7.4.2 - hasura-cli: - specifier: ^2.36.1 - version: 2.36.1 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.14.10)(typescript@5.5.3) + version: 10.9.2(@types/node@20.14.12)(typescript@5.5.4) typescript: - specifier: ^5.5.3 - version: 5.5.3 + specifier: ^5.5.4 + version: 5.5.4 lib/oss-artifact-validators: dependencies: @@ -558,7 +558,7 @@ importers: version: 3.1.0 oss-directory: specifier: ^0.0.7 - version: 0.0.7(ts-node@10.9.1(@types/node@20.14.10)(typescript@5.3.3))(typescript@5.3.3) + version: 0.0.7(ts-node@10.9.1(@types/node@20.14.12)(typescript@5.3.3))(typescript@5.3.3) read-pkg-up: specifier: ^11.0.0 version: 11.0.0 @@ -571,7 +571,7 @@ importers: version: 13.1.1 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@20.14.10)(typescript@5.3.3) + version: 10.9.1(@types/node@20.14.12)(typescript@5.3.3) warehouse/cloudquery-oss-directory: dependencies: @@ -595,7 +595,7 @@ importers: version: 4.17.21 oss-directory: specifier: ^0.0.15 - version: 0.0.15(ts-node@10.9.1(@types/node@20.14.10)(typescript@5.3.3))(typescript@5.3.3) + version: 0.0.15(ts-node@10.9.1(@types/node@20.14.12)(typescript@5.3.3))(typescript@5.3.3) read-pkg-up: specifier: ^11.0.0 version: 11.0.0 @@ -611,7 +611,7 @@ importers: version: 13.1.1 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@20.14.10)(typescript@5.3.3) + version: 10.9.1(@types/node@20.14.12)(typescript@5.3.3) packages: @@ -4427,6 +4427,9 @@ packages: '@types/node@20.14.10': resolution: {integrity: sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==} + '@types/node@20.14.12': + resolution: {integrity: sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==} + '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -5031,9 +5034,6 @@ packages: resolution: {integrity: sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==} engines: {node: '>=4'} - axios@0.21.4: - resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} - axobject-query@3.1.1: resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} @@ -6830,15 +6830,6 @@ packages: fn.name@1.1.0: resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} - follow-redirects@1.15.5: - resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - follow-redirects@1.15.6: resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} @@ -6851,10 +6842,6 @@ packages: for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} - foreground-child@3.2.1: resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} engines: {node: '>=14'} @@ -7074,6 +7061,11 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true + glob@11.0.0: + resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==} + engines: {node: 20 || >=22} + hasBin: true + glob@7.2.0: resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -7268,11 +7260,6 @@ packages: hastscript@8.0.0: resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} - hasura-cli@2.36.1: - resolution: {integrity: sha512-h8MHlkkgjlnmFsjzJ+FYDecIB0zswtdvFszXLPsSsyOuCuIIGejAx3rSPFVIxyiZVXohbsJcgjJBe7r91BV3Wg==} - engines: {node: '>=8'} - hasBin: true - he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true @@ -7913,6 +7900,10 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jackspeak@4.0.1: + resolution: {integrity: sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==} + engines: {node: 20 || >=22} + jest-changed-files@29.7.0: resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8391,6 +8382,10 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@11.0.0: + resolution: {integrity: sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==} + engines: {node: 20 || >=22} + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -8749,6 +8744,10 @@ packages: minimalistic-crypto-utils@1.0.1: resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + minimatch@10.0.1: + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + engines: {node: 20 || >=22} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -8803,10 +8802,6 @@ packages: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} - minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} - minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} @@ -9338,14 +9333,14 @@ packages: resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} engines: {node: '>=0.10.0'} - path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} - path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} + path-scurry@2.0.0: + resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} + engines: {node: 20 || >=22} + path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} @@ -11260,6 +11255,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@5.5.4: + resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} + engines: {node: '>=14.17'} + hasBin: true + typical@4.0.0: resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} engines: {node: '>=8'} @@ -11902,6 +11902,11 @@ packages: engines: {node: '>= 14'} hasBin: true + yaml@2.5.0: + resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} + engines: {node: '>= 14'} + hasBin: true + yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} @@ -14095,9 +14100,9 @@ snapshots: - typescript - utf-8-validate - '@ethereum-attestation-service/eas-contracts@1.3.7(ts-node@10.9.1(@types/node@20.14.10)(typescript@5.3.3))(typescript@5.3.3)': + '@ethereum-attestation-service/eas-contracts@1.3.7(ts-node@10.9.1(@types/node@20.14.12)(typescript@5.3.3))(typescript@5.3.3)': dependencies: - hardhat: 2.19.1(ts-node@10.9.1(@types/node@20.14.10)(typescript@5.3.3))(typescript@5.3.3) + hardhat: 2.19.1(ts-node@10.9.1(@types/node@20.14.12)(typescript@5.3.3))(typescript@5.3.3) transitivePeerDependencies: - bufferutil - supports-color @@ -14121,9 +14126,9 @@ snapshots: - typescript - utf-8-validate - '@ethereum-attestation-service/eas-sdk@1.4.0(ts-node@10.9.1(@types/node@20.14.10)(typescript@5.3.3))(typescript@5.3.3)': + '@ethereum-attestation-service/eas-sdk@1.4.0(ts-node@10.9.1(@types/node@20.14.12)(typescript@5.3.3))(typescript@5.3.3)': dependencies: - '@ethereum-attestation-service/eas-contracts': 1.3.7(ts-node@10.9.1(@types/node@20.14.10)(typescript@5.3.3))(typescript@5.3.3) + '@ethereum-attestation-service/eas-contracts': 1.3.7(ts-node@10.9.1(@types/node@20.14.12)(typescript@5.3.3))(typescript@5.3.3) ethers: 6.10.0 js-base64: 3.7.5 lodash: 4.17.21 @@ -14542,7 +14547,7 @@ snapshots: string-env-interpolation: 1.0.1 ts-log: 2.2.5 tslib: 2.6.3 - yaml: 2.4.5 + yaml: 2.5.0 yargs: 17.7.2 optionalDependencies: '@parcel/watcher': 2.4.1 @@ -14951,7 +14956,7 @@ snapshots: '@grpc/grpc-js@1.9.14': dependencies: '@grpc/proto-loader': 0.7.10 - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@grpc/proto-loader@0.7.10': dependencies: @@ -17491,11 +17496,11 @@ snapshots: '@types/bn.js@4.11.6': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/bn.js@5.1.5': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/body-parser@1.19.5': dependencies: @@ -17504,7 +17509,7 @@ snapshots: '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/btoa-lite@1.0.0': {} @@ -17519,7 +17524,7 @@ snapshots: '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.5 - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/connect@3.4.38': dependencies: @@ -17588,7 +17593,7 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/google.maps@3.55.11': {} @@ -17619,7 +17624,7 @@ snapshots: '@types/http-proxy@1.17.14': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/istanbul-lib-coverage@2.0.6': {} @@ -17693,7 +17698,7 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/node@17.0.45': {} @@ -17709,6 +17714,10 @@ snapshots: dependencies: undici-types: 5.26.5 + '@types/node@20.14.12': + dependencies: + undici-types: 5.26.5 + '@types/normalize-package-data@2.4.4': {} '@types/pad-left@2.1.1': {} @@ -17721,7 +17730,7 @@ snapshots: '@types/pbkdf2@3.1.2': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/phoenix@1.6.5': {} @@ -17767,7 +17776,7 @@ snapshots: '@types/readable-stream@2.3.15': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 safe-buffer: 5.1.2 '@types/request@2.48.12': @@ -17781,11 +17790,11 @@ snapshots: '@types/sax@1.2.7': dependencies: - '@types/node': 20.14.10 + '@types/node': 17.0.45 '@types/secp256k1@4.0.6': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/semver@7.5.8': {} @@ -17801,12 +17810,12 @@ snapshots: '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/send': 0.17.4 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/stack-utils@2.0.3': {} @@ -17828,7 +17837,7 @@ snapshots: '@types/ws@8.5.10': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/ws@8.5.3': dependencies: @@ -18411,12 +18420,6 @@ snapshots: axe-core@4.9.1: {} - axios@0.21.4: - dependencies: - follow-redirects: 1.15.5 - transitivePeerDependencies: - - debug - axobject-query@3.1.1: dependencies: deep-equal: 2.2.3 @@ -18641,7 +18644,7 @@ snapshots: dependencies: ansi-align: 3.0.1 camelcase: 7.0.1 - chalk: 5.0.1 + chalk: 5.3.0 cli-boxes: 3.0.0 string-width: 5.1.2 type-fest: 2.19.0 @@ -20429,7 +20432,7 @@ snapshots: eval@0.1.8: dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 require-like: 0.1.2 event-emitter@0.3.5: @@ -20706,8 +20709,6 @@ snapshots: fn.name@1.1.0: {} - follow-redirects@1.15.5: {} - follow-redirects@1.15.6(debug@4.3.5): optionalDependencies: debug: 4.3.5 @@ -20716,11 +20717,6 @@ snapshots: dependencies: is-callable: 1.2.7 - foreground-child@3.1.1: - dependencies: - cross-spawn: 7.0.3 - signal-exit: 4.1.0 - foreground-child@3.2.1: dependencies: cross-spawn: 7.0.3 @@ -20961,11 +20957,11 @@ snapshots: glob@10.3.10: dependencies: - foreground-child: 3.1.1 + foreground-child: 3.2.1 jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 7.0.4 - path-scurry: 1.10.1 + minimatch: 9.0.5 + minipass: 7.1.2 + path-scurry: 1.11.1 glob@10.4.5: dependencies: @@ -20976,6 +20972,15 @@ snapshots: package-json-from-dist: 1.0.0 path-scurry: 1.11.1 + glob@11.0.0: + dependencies: + foreground-child: 3.2.1 + jackspeak: 4.0.1 + minimatch: 10.0.1 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 2.0.0 + glob@7.2.0: dependencies: fs.realpath: 1.0.0 @@ -21201,7 +21206,7 @@ snapshots: - supports-color - utf-8-validate - hardhat@2.19.1(ts-node@10.9.1(@types/node@20.14.10)(typescript@5.3.3))(typescript@5.3.3): + hardhat@2.19.1(ts-node@10.9.1(@types/node@20.14.12)(typescript@5.3.3))(typescript@5.3.3): dependencies: '@ethersproject/abi': 5.7.0 '@metamask/eth-sig-util': 4.0.1 @@ -21252,7 +21257,7 @@ snapshots: uuid: 8.3.2 ws: 7.5.10 optionalDependencies: - ts-node: 10.9.1(@types/node@20.14.10)(typescript@5.3.3) + ts-node: 10.9.1(@types/node@20.14.12)(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - bufferutil @@ -21390,13 +21395,6 @@ snapshots: property-information: 6.5.0 space-separated-tokens: 2.0.2 - hasura-cli@2.36.1: - dependencies: - axios: 0.21.4 - chalk: 2.4.2 - transitivePeerDependencies: - - debug - he@1.2.0: {} header-case@2.0.4: @@ -22032,6 +22030,12 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jackspeak@4.0.1: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + jest-changed-files@29.7.0: dependencies: execa: 5.1.1 @@ -22339,13 +22343,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -22749,6 +22753,8 @@ snapshots: lru-cache@10.4.3: {} + lru-cache@11.0.0: {} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -23396,6 +23402,10 @@ snapshots: minimalistic-crypto-utils@1.0.1: {} + minimatch@10.0.1: + dependencies: + brace-expansion: 2.0.1 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -23452,8 +23462,6 @@ snapshots: minipass@5.0.0: {} - minipass@7.0.4: {} - minipass@7.1.2: {} minizlib@2.1.2: @@ -23868,13 +23876,13 @@ snapshots: dayjs: 1.11.10 dotenv: 16.4.5 ethers: 6.10.0 - glob: 10.3.10 + glob: 10.4.5 lodash: 4.17.21 simple-git: 3.25.0 tmp-promise: 3.0.3 ts-adt: 2.1.2 winston: 3.13.1 - yaml: 2.4.5 + yaml: 2.5.0 yargs: 17.7.2 transitivePeerDependencies: - bufferutil @@ -23883,22 +23891,22 @@ snapshots: - typescript - utf-8-validate - oss-directory@0.0.15(ts-node@10.9.1(@types/node@20.14.10)(typescript@5.3.3))(typescript@5.3.3): + oss-directory@0.0.15(ts-node@10.9.1(@types/node@20.14.12)(typescript@5.3.3))(typescript@5.3.3): dependencies: - '@ethereum-attestation-service/eas-sdk': 1.4.0(ts-node@10.9.1(@types/node@20.14.10)(typescript@5.3.3))(typescript@5.3.3) + '@ethereum-attestation-service/eas-sdk': 1.4.0(ts-node@10.9.1(@types/node@20.14.12)(typescript@5.3.3))(typescript@5.3.3) ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) chalk: 5.3.0 dayjs: 1.11.10 dotenv: 16.4.5 ethers: 6.10.0 - glob: 10.3.10 + glob: 10.4.5 lodash: 4.17.21 simple-git: 3.25.0 tmp-promise: 3.0.3 ts-adt: 2.1.2 winston: 3.13.1 - yaml: 2.4.5 + yaml: 2.5.0 yargs: 17.7.2 transitivePeerDependencies: - bufferutil @@ -23907,22 +23915,22 @@ snapshots: - typescript - utf-8-validate - oss-directory@0.0.7(ts-node@10.9.1(@types/node@20.14.10)(typescript@5.3.3))(typescript@5.3.3): + oss-directory@0.0.7(ts-node@10.9.1(@types/node@20.14.12)(typescript@5.3.3))(typescript@5.3.3): dependencies: - '@ethereum-attestation-service/eas-sdk': 1.4.0(ts-node@10.9.1(@types/node@20.14.10)(typescript@5.3.3))(typescript@5.3.3) + '@ethereum-attestation-service/eas-sdk': 1.4.0(ts-node@10.9.1(@types/node@20.14.12)(typescript@5.3.3))(typescript@5.3.3) ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) chalk: 5.3.0 dayjs: 1.11.10 dotenv: 16.4.5 ethers: 6.10.0 - glob: 10.3.10 + glob: 10.4.5 lodash: 4.17.21 simple-git: 3.22.0 tmp-promise: 3.0.3 ts-adt: 2.1.2 winston: 3.13.1 - yaml: 2.4.5 + yaml: 2.5.0 yargs: 17.7.2 transitivePeerDependencies: - bufferutil @@ -24087,14 +24095,14 @@ snapshots: dependencies: path-root-regex: 0.1.2 - path-scurry@1.10.1: + path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 - minipass: 7.0.4 + minipass: 7.1.2 - path-scurry@1.11.1: + path-scurry@2.0.0: dependencies: - lru-cache: 10.4.3 + lru-cache: 11.0.0 minipass: 7.1.2 path-to-regexp@0.1.7: {} @@ -24207,7 +24215,7 @@ snapshots: postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)): dependencies: lilconfig: 3.1.2 - yaml: 2.4.5 + yaml: 2.5.0 optionalDependencies: postcss: 8.4.39 ts-node: 10.9.2(@types/node@20.14.10)(typescript@5.5.3) @@ -24479,7 +24487,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 20.14.10 + '@types/node': 20.14.12 long: 5.2.3 proxy-addr@2.0.7: @@ -25073,7 +25081,7 @@ snapshots: rimraf@2.7.1: dependencies: - glob: 7.2.0 + glob: 7.2.3 rimraf@3.0.2: dependencies: @@ -26065,14 +26073,14 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-node@10.9.1(@types/node@20.14.10)(typescript@5.3.3): + ts-node@10.9.1(@types/node@20.14.12)(typescript@5.3.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.14.10 + '@types/node': 20.14.12 acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -26101,6 +26109,24 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + ts-node@10.9.2(@types/node@20.14.12)(typescript@5.5.4): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.14.12 + acorn: 8.12.1 + acorn-walk: 8.3.3 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.5.4 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -26216,6 +26242,8 @@ snapshots: typescript@5.5.3: {} + typescript@5.5.4: {} + typical@4.0.0: {} typical@5.2.0: {} @@ -27083,6 +27111,8 @@ snapshots: yaml@2.4.5: {} + yaml@2.5.0: {} + yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 07517742b..704accdef 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -3,7 +3,7 @@ packages: - "warehouse/cloudquery-github-resolve-repos" - "apps/docs" - "apps/frontend" - - "apps/hasura" + - "apps/hasura3" - "lib/oss-artifact-validators" - "lib/utils" - "ops/external-prs"