From 72507d352af381804101d97d95b669f54da61bbd Mon Sep 17 00:00:00 2001 From: Manuel Ruck Date: Sun, 7 Apr 2024 14:17:36 +0200 Subject: [PATCH] feat: imporve docker compose usage Signed-off-by: Manuel Ruck --- .github/workflows/build-and-push.yaml | 2 +- .github/workflows/get-changed-services.yaml | 2 +- .github/workflows/release.yaml | 2 +- bundestag.io/admin/README.md | 4 +- bundestag.io/api/package.json | 2 +- .../api/src/graphql/resolvers/Procedure.ts | 5 +- bundestag.io/api/src/index.ts | 2 +- common/bundestagio/src/index.ts | 4 +- common/bundestagio/src/models/mongoose.ts | 5 +- docker-compose.yml | 201 ++----------- infra/Dockerfile.service | 13 +- package.json | 26 +- pnpm-lock.yaml | 282 +++++++++++++----- .../cron-jobs/crawler/{.env.local => .env} | 2 +- services/cron-jobs/crawler/.env.local.example | 2 + services/cron-jobs/crawler/.gitignore | 1 + services/cron-jobs/crawler/package.json | 3 +- .../crawler/src/import-procedures/index.ts | 2 +- .../import-conference-week-details/.env.local | 5 +- .../package.json | 3 +- .../src/index.ts | 2 +- .../import-deputy-profiles/src/index.ts | 2 +- .../import-named-poll-deputies/src/index.ts | 2 +- .../cron-jobs/import-named-polls/src/index.ts | 2 +- .../import-plenary-minutes/src/index.ts | 2 +- .../index-sync-bundestagio/src/index.ts | 2 +- .../cron-jobs/push-send-queued/package.json | 2 +- .../cron-jobs/push-send-queued/src/config.ts | 1 - services/scrapers/scapacra-bt/.travis.yml | 139 --------- services/scrapers/scapacra-bt/package.json | 4 +- services/scrapers/scapacra/package.json | 3 +- turbo.json | 3 +- 32 files changed, 278 insertions(+), 454 deletions(-) rename services/cron-jobs/crawler/{.env.local => .env} (82%) create mode 100644 services/cron-jobs/crawler/.env.local.example delete mode 100644 services/scrapers/scapacra-bt/.travis.yml diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index f97da592d..d6d14820c 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -29,7 +29,7 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: pnpm/action-setup@v2 + - uses: pnpm/action-setup@v3 with: version: 8 run_install: false diff --git a/.github/workflows/get-changed-services.yaml b/.github/workflows/get-changed-services.yaml index 8ba398d19..e3d7a1101 100644 --- a/.github/workflows/get-changed-services.yaml +++ b/.github/workflows/get-changed-services.yaml @@ -17,7 +17,7 @@ jobs: with: fetch-depth: 0 - - uses: pnpm/action-setup@v2 + - uses: pnpm/action-setup@v3 with: version: 8 run_install: false diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 104cf385a..0b9c76700 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -60,7 +60,7 @@ jobs: git pull origin ${{ github.event.repository.default_branch }} if: ${{ contains(github.ref, github.event.repository.default_branch) }} - - uses: pnpm/action-setup@v2 + - uses: pnpm/action-setup@v3 with: version: 8 run_install: false diff --git a/bundestag.io/admin/README.md b/bundestag.io/admin/README.md index b12f3e33e..dd6f78418 100644 --- a/bundestag.io/admin/README.md +++ b/bundestag.io/admin/README.md @@ -5,9 +5,7 @@ This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next First, run the development server: ```bash -npm run dev -# or -yarn dev +pnpm dev ``` Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. diff --git a/bundestag.io/api/package.json b/bundestag.io/api/package.json index a61fd2284..dc4fb2ed9 100644 --- a/bundestag.io/api/package.json +++ b/bundestag.io/api/package.json @@ -13,7 +13,7 @@ "prebuild": "pnpm run generate", "start": "node build/index.js", "dev": "ts-node-dev --watch=resolvers,schemas --respawn src/index.ts", - "lint": "yarn lint:ts && yarn lint:exports", + "lint": "pnpm lint:ts && pnpm lint:exports", "lint:es": "eslint src --ext .js,.jsx,.ts,.tsx", "lint:ts": "tsc --noEmit", "lint:exports": "ts-unused-exports ./tsconfig.json --excludePathsFromReport=generated --excludePathsFromReport=resolvers --excludePathsFromReport=/schemas --excludePathsFromReport=graphqlContext.ts", diff --git a/bundestag.io/api/src/graphql/resolvers/Procedure.ts b/bundestag.io/api/src/graphql/resolvers/Procedure.ts index 010d443b8..3a3614b23 100644 --- a/bundestag.io/api/src/graphql/resolvers/Procedure.ts +++ b/bundestag.io/api/src/graphql/resolvers/Procedure.ts @@ -303,12 +303,15 @@ const ProcedureResolvers: Resolvers = { return prev; }, []); }; - console.log('procedure', procedure); if (procedure) { const axiosInstance = axios.create(); const date = procedure.voteDate; + if (!date) { + throw new Error('No vote date found'); + } + const conferenceWeekDetail = await ConferenceWeekDetailModel.findOne({ 'sessions.date': { $gte: new Date(date.getFullYear(), date.getMonth(), date.getDate()), diff --git a/bundestag.io/api/src/index.ts b/bundestag.io/api/src/index.ts index 5a832868b..70b2c523a 100644 --- a/bundestag.io/api/src/index.ts +++ b/bundestag.io/api/src/index.ts @@ -30,7 +30,7 @@ const server = createServer({ httpServer }); const main = async () => { // Connect to DB - this keeps the process running // IMPORTANT - This is done before any Model is registered - await mongoConnect(); + await mongoConnect(CONFIG.DB_URL); await server.start(); diff --git a/common/bundestagio/src/index.ts b/common/bundestagio/src/index.ts index aa7832e4c..0e1c23105 100644 --- a/common/bundestagio/src/index.ts +++ b/common/bundestagio/src/index.ts @@ -1,2 +1,2 @@ -export * from "./models"; -export * from "./utils"; +export * from './models'; +export * from './utils'; diff --git a/common/bundestagio/src/models/mongoose.ts b/common/bundestagio/src/models/mongoose.ts index 4ade6dec9..72dbccfb9 100644 --- a/common/bundestagio/src/models/mongoose.ts +++ b/common/bundestagio/src/models/mongoose.ts @@ -2,12 +2,11 @@ import Mongoose from 'mongoose'; const mongoose = Mongoose; export { mongoose }; -export const mongoConnect = async () => +export const mongoConnect = async (dbUrl: string) => new Promise(async (resolve) => { // Mongo Debug mongoose.set('debug', false); - - mongoose.connect(process.env.DB_URL!); + mongoose.connect(dbUrl); mongoose.connection.once('connected', () => { console.info('MongoDB is running'); diff --git a/docker-compose.yml b/docker-compose.yml index cc82cddd0..6b784e282 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,5 @@ version: '3.9' + services: mongo: image: mongo:4 @@ -10,12 +11,14 @@ services: - democracy bundestag-io: build: - context: bundestag.io/api - target: base_stage - dockerfile: ../../infra/Dockerfile + dockerfile: ./infra/Dockerfile.service + target: dev + args: + - NODE_VERSION=18.18.2 + - SERVICE=bundestag.io + - SERVICE_PATH=bundestag.io/api ports: - 4000:4000 - command: pnpm run dev depends_on: - mongo environment: @@ -23,199 +26,33 @@ services: - BIO_EDIT_TOKEN=CHANGE_ME - PORT=4000 volumes: - - ./bundestag.io/api/src:/app/src + - ./bundestag.io/api/src:/app/bundestag.io/api/src networks: - democracy bio-admin: build: - context: bundestag.io/admin - target: runner + dockerfile: ./infra/Dockerfile.service + target: dev + args: + - NODE_VERSION=18.18.2 + - SERVICE=bundestag.io-admin + - SERVICE_PATH=bundestag.io/admin + - BUNDESTAGIO_SERVER_URL=http://bundestag-io:4000 ports: - 4001:3000 depends_on: - bundestag-io environment: - - BUNDESTAGIO_SERVER_URL=http://bundestag-io:3100 + - BUNDESTAGIO_SERVER_URL=http://bundestag-io:4000 - BIO_EDIT_TOKEN=CHANGE_ME - NEXTAUTH_URL=http://localhost:4001 - CREDENTIALS=username:password - profiles: - - admin - networks: - - democracy - crawler: - build: - context: services/cron-jobs/crawler - target: base_stage - dockerfile: ../../../infra/Dockerfile - command: pnpm dev - volumes: - - ./services/cron-jobs/crawler/src:/app/src - env_file: - - services/cron-jobs/crawler/.env.local - environment: - - DB_URL=mongodb://mongo:27017/bundestagio - depends_on: - - mongo - profiles: - - cronjobs - networks: - - democracy - sync-procedures: - build: - context: services/cron-jobs/sync-procedures - target: base_stage - dockerfile: ../../../infra/Dockerfile - command: pnpm dev - volumes: - - ./services/cron-jobs/sync-procedures/src:/app/src - env_file: - - services/cron-jobs/sync-procedures/.env.local - environment: - - DB_URL=mongodb://mongo/democracy - - BUNDESTAGIO_SERVER_URL=http://bundestag-io:4000 - depends_on: - - bundestag-io - - mongo - profiles: - - cronjobs - networks: - - democracy - queue-pushs-vote-top-100: - build: - context: services/cron-jobs/queue-pushs-vote-top-100 - target: base_stage - dockerfile: ../../../infra/Dockerfile - command: pnpm dev - volumes: - - ./services/cron-jobs/queue-pushs-vote-top-100/src:/app/src - env_file: - - services/cron-jobs/queue-pushs-vote-top-100/.env.local - environment: - - DB_URL=mongodb://mongo/democracy - depends_on: - - mongo - profiles: - - cronjobs - networks: - - democracy - push-send-queued: - build: - context: services/cron-jobs/push-send-queued - target: base_stage - dockerfile: ../../../infra/Dockerfile - command: pnpm dev - volumes: - - ./services/cron-jobs/push-send-queued/src:/app/src - env_file: - - services/cron-jobs/push-send-queued/.env - environment: - - DB_URL=mongodb://mongo/democracy - depends_on: - - mongo - profiles: - - cronjobs - networks: - - democracy - cleanup-push-queue: - build: - context: services/cron-jobs/cleanup-push-queue - target: base_stage - dockerfile: ../../../infra/Dockerfile - command: pnpm dev - volumes: - - ./services/cron-jobs/cleanup-push-queue/src:/app/src - env_file: - - services/cron-jobs/cleanup-push-queue/.env.local - environment: - - DB_URL=mongodb://mongo/democracy - depends_on: - - mongo - profiles: - - cronjobs - networks: - - democracy - import-named-polls: - build: - context: services/cron-jobs/import-named-polls - target: base_stage - dockerfile: ../../../infra/Dockerfile - command: pnpm dev - volumes: - - ./services/cron-jobs/import-named-polls/src:/app/src - env_file: - - services/cron-jobs/import-named-polls/.env.local - environment: - - DB_URL=mongodb://mongo/bundestagio - depends_on: - - mongo - profiles: - - cronjobs - import-named-poll-deputies: - build: - context: services/cron-jobs/import-named-poll-deputies - target: base_stage - dockerfile: ../../../infra/Dockerfile - command: pnpm dev - volumes: - - ./services/cron-jobs/import-named-poll-deputies/src:/app/src - env_file: - - services/cron-jobs/import-named-poll-deputies/.env.local - environment: - - DB_URL=mongodb://mongo/bundestagio - depends_on: - - mongo - profiles: - - cronjobs - loki: - image: grafana/loki:2.4.2 - volumes: - - ./docker_volumes/loki:/etc/loki - ports: - - 3301:3100 - restart: unless-stopped - command: --config.file=/etc/loki/loki-config.yml - profiles: - - debug - networks: - - democracy - promtail: - image: grafana/promtail:2.4.0 volumes: - - /var/log:/var/log - - ./docker_volumes/promtail:/etc/promtail - # ports: - # - "1514:1514" # this is only needed if you are going to send syslogs - restart: unless-stopped - command: -config.file=/etc/promtail/promtail-config.yml + - ./bundestag.io/admin/pages:/app/bundestag.io/admin/pages profiles: - - debug - networks: - - democracy - grafana: - image: grafana/grafana:latest - user: '501' - volumes: - - ./docker_volumes/grafana:/var/lib/grafana - ports: - - '3300:3000' - restart: unless-stopped - profiles: - - debug - networks: - - democracy - prometheus: - image: prom/prometheus:v2.34.0 - ports: - - 9090:9090 - volumes: - - ./docker_volumes/prometheus:/etc/prometheus - - /prometheus - command: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml - profiles: - - debug + - admin networks: - democracy networks: democracy: - external: true + external: false diff --git a/infra/Dockerfile.service b/infra/Dockerfile.service index 3a7ee6e57..6d93470b4 100644 --- a/infra/Dockerfile.service +++ b/infra/Dockerfile.service @@ -37,6 +37,11 @@ RUN pnpm install # Build the project COPY --from=builder /app/out/full/ . + +FROM installer AS dev +CMD cd $SERVICE_PATH && pnpm dev + +FROM installer AS installer_prod RUN pnpm turbo run build --filter=$SERVICE RUN pnpm install --prod --frozen-lockfile --ignore-scripts --prefer-offline @@ -47,12 +52,12 @@ WORKDIR /app RUN addgroup --system --gid 1001 nodejs RUN adduser --system --uid 1001 runuser -COPY --from=installer /app . +COPY --from=installer_prod /app . # Create data directory and set permissions -RUN mkdir -p $SERVICE_PATH/data -RUN chown runuser:nodejs $SERVICE_PATH/data +# RUN mkdir -p $SERVICE_PATH/data +# RUN chown runuser:nodejs $SERVICE_PATH/data -USER runuser +# USER runuser CMD cd $SERVICE_PATH && pnpm start diff --git a/package.json b/package.json index 77abd1565..a17f4b0e2 100644 --- a/package.json +++ b/package.json @@ -6,31 +6,13 @@ "author": "Manuel Ruck ", "license": "Apache-2.0", "private": true, - "packageManager": "pnpm@8.15.4", + "packageManager": "pnpm@8.15.5", "scripts": { "build": "turbo run build", "lint": "turbo run lint", - "dev": "pnpm build:k8s:local && skaffold dev --port-forward --status-check=false", - "build:k8s:local": "kustomize build ./infra/kustomize/overlays/local > infra/local.yaml", - "build:k8s:internal": "kustomize build ./infra/kustomize/overlays/internal > infra/internal.yaml", - "build:k8s:alpha": "kustomize build ./infra/kustomize/overlays/alpha > infra/alpha.yaml", - "build:k8s:prod": "kustomize build ./infra/kustomize/overlays/prod > infra/prod.yaml", - "s:i:procedures": "cd services/cron-jobs/crawler && pnpm && pnpm dev", - "s:i:conference-weeks": "cd services/cron-jobs/import-conference-week-details && pnpm && pnpm dev", - "s:i:deputy-profiles": "cd services/cron-jobs/import-deputy-profiles && pnpm && pnpm dev", - "s:i:named-poll-deputies": "cd services/cron-jobs/import-named-poll-deputies && pnpm && pnpm dev", - "s:i:named-polls": "cd services/cron-jobs/import-named-polls && pnpm && pnpm dev", - "s:i:plenary-mitutes": "cd services/cron-jobs/import-plenary-minutes && pnpm && pnpm dev", - "s:i": "pnpm s:i:procedures && pnpm s:i:conference-weeks && pnpm s:i:deputy-profiles && pnpm s:i:named-poll-deputies && pnpm s:i:named-polls && pnpm s:i:plenary-mitutes", - "s:parse-plenary-minutes": "cd services/cron-jobs/parse-plenary-minutes && pnpm && pnpm dev", - "s:q:conference-weeks": "cd services/cron-jobs/queue-pushs-conference-week && pnpm && pnpm dev", - "s:q:vote-conference-weeks": "cd services/cron-jobs/queue-pushs-vote-conference-week && pnpm && pnpm dev", - "s:q:top-100": "cd services/cron-jobs/queue-pushs-vote-top-100 && pnpm && pnpm dev", - "s:push": "cd services/cron-jobs/push-send-queued && pnpm && pnpm dev", - "s:s:deputy-profiles": "cd services/cron-jobs/sync-deputy-profiles && pnpm && pnpm dev", - "s:s:named-polls": "cd services/cron-jobs/sync-named-polls && pnpm && pnpm dev", - "s:s:procedures": "cd services/cron-jobs/sync-procedures && pnpm && pnpm dev", - "s:s": "pnpm s:s:deputy-profiles && pnpm s:s:named-polls && pnpm s:s:procedures" + "dev": "turbo run dev", + "infra:setup": "sh infra/minikube/setup.sh || bash infra/minikube/setup.sh || cmd.exe /C infra\\minikube\\setup.sh", + "infra:start": "minikube start -p mk-democracy" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^6.13.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1df4509b1..eb3e0435f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -162,7 +162,7 @@ importers: devDependencies: '@graphql-codegen/cli': specifier: 5.0.0 - version: 5.0.0(@types/node@20.11.28)(graphql@16.8.1)(typescript@5.2.2) + version: 5.0.0(@types/node@20.12.5)(graphql@16.8.1)(typescript@5.2.2) '@graphql-codegen/typescript': specifier: 4.0.1 version: 4.0.1(graphql@16.8.1) @@ -189,13 +189,13 @@ importers: version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.52.0)(prettier@3.0.3) jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.11.28) + version: 29.7.0(@types/node@20.12.5) prettier: specifier: 3.0.3 version: 3.0.3 ts-node-dev: specifier: 2.0.0 - version: 2.0.0(@types/node@20.11.28)(typescript@5.2.2) + version: 2.0.0(@types/node@20.12.5)(typescript@5.2.2) ts-unused-exports: specifier: 10.0.1 version: 10.0.1(typescript@5.2.2) @@ -352,6 +352,9 @@ importers: '@typescript-eslint/parser': specifier: ^7.2.0 version: 7.2.0(eslint@8.57.0)(typescript@5.4.2) + dotenv-cli: + specifier: ^7.4.1 + version: 7.4.1 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -410,6 +413,9 @@ importers: dotenv: specifier: ^16.0.0 version: 16.3.1 + dotenv-cli: + specifier: ^7.4.1 + version: 7.4.1 ts-node-dev: specifier: ^1.1.8 version: 1.1.8(typescript@5.2.2) @@ -480,7 +486,7 @@ importers: version: 16.3.1 ts-node-dev: specifier: ^2.0.0 - version: 2.0.0(@types/node@20.11.28)(typescript@5.2.2) + version: 2.0.0(@types/node@20.12.5)(typescript@5.2.2) ts-unused-exports: specifier: ^10.0.1 version: 10.0.1(typescript@5.2.2) @@ -626,7 +632,7 @@ importers: version: 16.3.1 ts-node-dev: specifier: ^2.0.0 - version: 2.0.0(@types/node@20.11.28)(typescript@5.2.2) + version: 2.0.0(@types/node@20.12.5)(typescript@5.2.2) ts-unused-exports: specifier: ^9.0.2 version: 9.0.5(typescript@5.2.2) @@ -931,7 +937,7 @@ importers: version: 5.11.97 ts-node-dev: specifier: ^2.0.0 - version: 2.0.0(@swc/core@1.3.93)(@types/node@20.11.28)(typescript@5.2.2) + version: 2.0.0(@swc/core@1.3.93)(@types/node@20.12.5)(typescript@5.2.2) tsup: specifier: ^7.2.0 version: 7.2.0(@swc/core@1.3.93)(typescript@5.2.2) @@ -3422,7 +3428,7 @@ packages: dev: false optional: true - /@graphql-codegen/cli@5.0.0(@types/node@20.11.28)(graphql@16.8.1)(typescript@5.2.2): + /@graphql-codegen/cli@5.0.0(@types/node@20.12.5)(graphql@16.8.1)(typescript@5.2.2): resolution: {integrity: sha512-A7J7+be/a6e+/ul2KI5sfJlpoqeqwX8EzktaKCeduyVKgOLA6W5t+NUGf6QumBDXU8PEOqXk3o3F+RAwCWOiqA==} hasBin: true peerDependencies: @@ -3440,12 +3446,12 @@ packages: '@graphql-tools/apollo-engine-loader': 8.0.0(graphql@16.8.1) '@graphql-tools/code-file-loader': 8.0.2(graphql@16.8.1) '@graphql-tools/git-loader': 8.0.2(graphql@16.8.1) - '@graphql-tools/github-loader': 8.0.0(@types/node@20.11.28)(graphql@16.8.1) + '@graphql-tools/github-loader': 8.0.0(@types/node@20.12.5)(graphql@16.8.1) '@graphql-tools/graphql-file-loader': 8.0.0(graphql@16.8.1) '@graphql-tools/json-file-loader': 8.0.0(graphql@16.8.1) '@graphql-tools/load': 8.0.0(graphql@16.8.1) - '@graphql-tools/prisma-loader': 8.0.1(@types/node@20.11.28)(graphql@16.8.1) - '@graphql-tools/url-loader': 8.0.0(@types/node@20.11.28)(graphql@16.8.1) + '@graphql-tools/prisma-loader': 8.0.1(@types/node@20.12.5)(graphql@16.8.1) + '@graphql-tools/url-loader': 8.0.0(@types/node@20.12.5)(graphql@16.8.1) '@graphql-tools/utils': 10.0.8(graphql@16.8.1) '@whatwg-node/fetch': 0.8.8 chalk: 4.1.2 @@ -3453,7 +3459,7 @@ packages: debounce: 1.2.1 detect-indent: 6.1.0 graphql: 16.8.1 - graphql-config: 5.0.3(@types/node@20.11.28)(graphql@16.8.1)(typescript@5.2.2) + graphql-config: 5.0.3(@types/node@20.12.5)(graphql@16.8.1)(typescript@5.2.2) inquirer: 8.2.6 is-glob: 4.0.3 jiti: 1.20.0 @@ -3662,7 +3668,7 @@ packages: - utf-8-validate dev: true - /@graphql-tools/executor-http@1.0.3(@types/node@20.11.28)(graphql@16.8.1): + /@graphql-tools/executor-http@1.0.3(@types/node@20.12.5)(graphql@16.8.1): resolution: {integrity: sha512-5WZIMBevRaxMabZ8U2Ty0dTUPy/PpeYSlMNEmC/YJjKKykgSfc/AwSejx2sE4FFKZ0I2kxRKRenyoWMHRAV49Q==} engines: {node: '>=16.0.0'} peerDependencies: @@ -3673,7 +3679,7 @@ packages: '@whatwg-node/fetch': 0.9.13 extract-files: 11.0.0 graphql: 16.8.1 - meros: 1.3.0(@types/node@20.11.28) + meros: 1.3.0(@types/node@20.12.5) tslib: 2.6.2 value-or-promise: 1.0.12 transitivePeerDependencies: @@ -3728,14 +3734,14 @@ packages: - supports-color dev: true - /@graphql-tools/github-loader@8.0.0(@types/node@20.11.28)(graphql@16.8.1): + /@graphql-tools/github-loader@8.0.0(@types/node@20.12.5)(graphql@16.8.1): resolution: {integrity: sha512-VuroArWKcG4yaOWzV0r19ElVIV6iH6UKDQn1MXemND0xu5TzrFme0kf3U9o0YwNo0kUYEk9CyFM0BYg4he17FA==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/executor-http': 1.0.3(@types/node@20.11.28)(graphql@16.8.1) + '@graphql-tools/executor-http': 1.0.3(@types/node@20.12.5)(graphql@16.8.1) '@graphql-tools/graphql-tag-pluck': 8.0.2(graphql@16.8.1) '@graphql-tools/utils': 10.0.8(graphql@16.8.1) '@whatwg-node/fetch': 0.9.13 @@ -3848,13 +3854,13 @@ packages: tslib: 2.5.3 dev: true - /@graphql-tools/prisma-loader@8.0.1(@types/node@20.11.28)(graphql@16.8.1): + /@graphql-tools/prisma-loader@8.0.1(@types/node@20.12.5)(graphql@16.8.1): resolution: {integrity: sha512-bl6e5sAYe35Z6fEbgKXNrqRhXlCJYeWKBkarohgYA338/SD9eEhXtg3Cedj7fut3WyRLoQFpHzfiwxKs7XrgXg==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/url-loader': 8.0.0(@types/node@20.11.28)(graphql@16.8.1) + '@graphql-tools/url-loader': 8.0.0(@types/node@20.12.5)(graphql@16.8.1) '@graphql-tools/utils': 10.0.8(graphql@16.8.1) '@types/js-yaml': 4.0.8 '@types/json-stable-stringify': 1.0.35 @@ -3920,7 +3926,7 @@ packages: value-or-promise: 1.0.12 dev: false - /@graphql-tools/url-loader@8.0.0(@types/node@20.11.28)(graphql@16.8.1): + /@graphql-tools/url-loader@8.0.0(@types/node@20.12.5)(graphql@16.8.1): resolution: {integrity: sha512-rPc9oDzMnycvz+X+wrN3PLrhMBQkG4+sd8EzaFN6dypcssiefgWKToXtRKI8HHK68n2xEq1PyrOpkjHFJB+GwA==} engines: {node: '>=16.0.0'} peerDependencies: @@ -3929,7 +3935,7 @@ packages: '@ardatan/sync-fetch': 0.0.1 '@graphql-tools/delegate': 10.0.3(graphql@16.8.1) '@graphql-tools/executor-graphql-ws': 1.1.0(graphql@16.8.1) - '@graphql-tools/executor-http': 1.0.3(@types/node@20.11.28)(graphql@16.8.1) + '@graphql-tools/executor-http': 1.0.3(@types/node@20.12.5)(graphql@16.8.1) '@graphql-tools/executor-legacy-ws': 1.0.4(graphql@16.8.1) '@graphql-tools/utils': 10.0.8(graphql@16.8.1) '@graphql-tools/wrap': 10.0.1(graphql@16.8.1) @@ -3996,7 +4002,7 @@ packages: requiresBuild: true dependencies: '@grpc/proto-loader': 0.7.10 - '@types/node': 20.10.4 + '@types/node': 20.11.28 dev: false optional: true @@ -4081,7 +4087,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.10.4 + '@types/node': 20.11.28 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -4137,7 +4143,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.4 + '@types/node': 20.11.28 jest-mock: 29.7.0 dev: true @@ -4164,7 +4170,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.10.4 + '@types/node': 20.11.28 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -4197,7 +4203,7 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.20 - '@types/node': 20.10.4 + '@types/node': 20.11.28 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -4285,7 +4291,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.10.4 + '@types/node': 20.11.28 '@types/yargs': 17.0.29 chalk: 4.1.2 dev: true @@ -5265,14 +5271,14 @@ packages: resolution: {integrity: sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==} dependencies: '@types/connect': 3.4.36 - '@types/node': 20.10.4 + '@types/node': 20.11.28 dev: true /@types/body-parser@1.19.4: resolution: {integrity: sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==} dependencies: '@types/connect': 3.4.37 - '@types/node': 20.10.4 + '@types/node': 20.11.28 dev: false /@types/caseless@0.12.4: @@ -5286,18 +5292,18 @@ packages: /@types/cheerio@0.22.32: resolution: {integrity: sha512-4RrpCp5ufWTLb6/1RCOjazRhUM6DTD79l763det29n8kLmPB7XeN46cxlUf2GsSF+0g6CbWT5nYl8C/Gs15bdg==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.12.5 /@types/connect@3.4.36: resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.28 dev: true /@types/connect@3.4.37: resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.28 dev: false /@types/content-type@1.1.8: @@ -5331,7 +5337,7 @@ packages: /@types/express-serve-static-core@4.17.37: resolution: {integrity: sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.28 '@types/qs': 6.9.8 '@types/range-parser': 1.2.4 '@types/send': 0.17.1 @@ -5340,7 +5346,7 @@ packages: /@types/express-serve-static-core@4.17.39: resolution: {integrity: sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.28 '@types/qs': 6.9.9 '@types/range-parser': 1.2.6 '@types/send': 0.17.1 @@ -5369,7 +5375,7 @@ packages: requiresBuild: true dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.10.4 + '@types/node': 20.11.28 dev: false optional: true @@ -5434,7 +5440,7 @@ packages: /@types/jsdom@21.1.6: resolution: {integrity: sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.28 '@types/tough-cookie': 4.0.5 parse5: 7.1.2 dev: false @@ -5453,7 +5459,7 @@ packages: /@types/jsonwebtoken@9.0.4: resolution: {integrity: sha512-8UYapdmR0QlxgvJmyE8lP7guxD0UGVMfknsdtCFZh4ovShdBl3iOI4zdvqBHrB/IS+xUj3PSx73Qkey1fhWz+g==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.28 /@types/linkify-it@3.0.3: resolution: {integrity: sha512-pTjcqY9E4nOI55Wgpz7eiI8+LzdYnw3qxXCfHyBDdPbYvbyLgWLJGh8EdPvqawwMK1Uo1794AUkkR38Fr0g+2g==} @@ -5529,7 +5535,7 @@ packages: /@types/node-fetch@2.6.6: resolution: {integrity: sha512-95X8guJYhfqiuVVhRFxVQcf4hW/2bCuoPwDasMf/531STFoNoWTT7YDnWdXHEZKqAGUigmpG31r2FE70LwnzJw==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.28 form-data: 4.0.0 /@types/node-gcm@1.0.2: @@ -5544,12 +5550,17 @@ packages: resolution: {integrity: sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==} dependencies: undici-types: 5.26.5 + dev: true /@types/node@20.11.28: resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} dependencies: undici-types: 5.26.5 - dev: true + + /@types/node@20.12.5: + resolution: {integrity: sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==} + dependencies: + undici-types: 5.26.5 /@types/node@20.6.4: resolution: {integrity: sha512-nU6d9MPY0NBUMiE/nXd2IIoC4OLvsLpwAjheoAeuzgvDZA1Cb10QYg+91AF6zQiKWRN5i1m07x6sMe0niBznoQ==} @@ -5603,7 +5614,7 @@ packages: resolution: {integrity: sha512-HuihY1+Vss5RS9ZHzRyTGIzwPTdrJBkCm/mAeLRYrOQu/MGqyezKXWOK1VhCnR+SDbp9G2mRUP+OVEqCrzpcfA==} dependencies: '@types/caseless': 0.12.4 - '@types/node': 20.10.4 + '@types/node': 20.11.28 '@types/tough-cookie': 4.0.3 form-data: 2.5.1 dev: true @@ -5613,7 +5624,7 @@ packages: requiresBuild: true dependencies: '@types/glob': 8.1.0 - '@types/node': 20.10.4 + '@types/node': 20.11.28 dev: false optional: true @@ -5633,14 +5644,14 @@ packages: resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} dependencies: '@types/mime': 1.3.2 - '@types/node': 20.10.4 + '@types/node': 20.11.28 /@types/serve-static@1.15.2: resolution: {integrity: sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==} dependencies: '@types/http-errors': 2.0.2 '@types/mime': 3.0.1 - '@types/node': 20.10.4 + '@types/node': 20.11.28 dev: true /@types/serve-static@1.15.4: @@ -5648,7 +5659,7 @@ packages: dependencies: '@types/http-errors': 2.0.3 '@types/mime': 3.0.3 - '@types/node': 20.10.4 + '@types/node': 20.11.28 dev: false /@types/stack-utils@2.0.3: @@ -5692,19 +5703,19 @@ packages: /@types/whatwg-url@8.2.2: resolution: {integrity: sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.28 '@types/webidl-conversions': 7.0.0 /@types/ws@8.5.8: resolution: {integrity: sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.28 dev: true /@types/xml2js@0.4.13: resolution: {integrity: sha512-nuT42GzgoUa4zZgBoF4d+Zqc12/FlVxXCT4xU6j3RfqTFVQWrUAClI/0sNJ5ImM9Wv6KB42KMG2xsVMn4cSBzA==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.28 dev: false /@types/xmldom@0.1.33: @@ -5714,7 +5725,7 @@ packages: /@types/xsd-schema-validator@0.5.6: resolution: {integrity: sha512-ZAnzytBMn7CZVqAkaesPscbGQL22+S+7QTwtQKRtmVuSGxkj116xFQzi8Bc8CengQ6wZcGvuJ3wiVm21+dFeBw==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.28 dev: true /@types/yargs-parser@21.0.2: @@ -6200,7 +6211,7 @@ packages: /@wry/context@0.4.4: resolution: {integrity: sha512-LrKVLove/zw6h2Md/KZyWxIkFM6AoyKp71OqpH9Hiip1csjPVoD3tPxlbQUNxEnHENks3UGgNpSBCAfq9KWuag==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.28 tslib: 1.14.1 dev: false @@ -8203,6 +8214,25 @@ packages: - ts-node dev: true + /create-jest@29.7.0(@types/node@20.12.5): + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@20.12.5) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true @@ -8666,6 +8696,21 @@ packages: type-fest: 2.19.0 dev: false + /dotenv-cli@7.4.1: + resolution: {integrity: sha512-fE1aywjRrWGxV3miaiUr3d2zC/VAiuzEGghi+QzgIA9fEf/M5hLMaRSXb4IxbUAwGmaLi0IozdZddnVU96acag==} + hasBin: true + dependencies: + cross-spawn: 7.0.3 + dotenv: 16.4.5 + dotenv-expand: 10.0.0 + minimist: 1.2.8 + dev: true + + /dotenv-expand@10.0.0: + resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} + engines: {node: '>=12'} + dev: true + /dotenv@10.0.0: resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} engines: {node: '>=10'} @@ -9983,7 +10028,7 @@ packages: '@fastify/busboy': 1.2.1 '@firebase/database-compat': 0.3.4 '@firebase/database-types': 0.10.4 - '@types/node': 20.10.4 + '@types/node': 20.11.28 jsonwebtoken: 9.0.2 jwks-rsa: 3.0.1 node-forge: 1.3.1 @@ -10580,7 +10625,7 @@ packages: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true - /graphql-config@5.0.3(@types/node@20.11.28)(graphql@16.8.1)(typescript@5.2.2): + /graphql-config@5.0.3(@types/node@20.12.5)(graphql@16.8.1)(typescript@5.2.2): resolution: {integrity: sha512-BNGZaoxIBkv9yy6Y7omvsaBUHOzfFcII3UN++tpH8MGOKFPFkCPZuwx09ggANMt8FgyWP1Od8SWPmrUEZca4NQ==} engines: {node: '>= 16.0.0'} peerDependencies: @@ -10594,7 +10639,7 @@ packages: '@graphql-tools/json-file-loader': 8.0.0(graphql@16.8.1) '@graphql-tools/load': 8.0.0(graphql@16.8.1) '@graphql-tools/merge': 9.0.0(graphql@16.8.1) - '@graphql-tools/url-loader': 8.0.0(@types/node@20.11.28)(graphql@16.8.1) + '@graphql-tools/url-loader': 8.0.0(@types/node@20.12.5)(graphql@16.8.1) '@graphql-tools/utils': 10.0.8(graphql@16.8.1) cosmiconfig: 8.3.6(typescript@5.2.2) graphql: 16.8.1 @@ -11615,7 +11660,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.4 + '@types/node': 20.11.28 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.1 @@ -11664,6 +11709,34 @@ packages: - ts-node dev: true + /jest-cli@29.7.0(@types/node@20.12.5): + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@20.12.5) + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@20.12.5) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + /jest-config@29.7.0(@types/node@20.11.28): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -11704,6 +11777,46 @@ packages: - supports-color dev: true + /jest-config@29.7.0(@types/node@20.12.5): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.23.2 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.5 + babel-jest: 29.7.0(@babel/core@7.23.2) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + dev: true + /jest-diff@29.7.0: resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -11739,7 +11852,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.4 + '@types/node': 20.11.28 jest-mock: 29.7.0 jest-util: 29.7.0 dev: true @@ -11806,7 +11919,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.10.4 + '@types/node': 20.11.28 jest-util: 29.7.0 dev: true @@ -11944,7 +12057,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.10.4 + '@types/node': 20.11.28 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -11969,7 +12082,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.4 + '@types/node': 20.11.28 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -11981,7 +12094,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.28 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -12008,6 +12121,27 @@ packages: - ts-node dev: true + /jest@29.7.0(@types/node@20.12.5): + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.7.0 + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0(@types/node@20.12.5) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + /jiti@1.20.0: resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==} hasBin: true @@ -12870,7 +13004,7 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - /meros@1.3.0(@types/node@20.11.28): + /meros@1.3.0(@types/node@20.12.5): resolution: {integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==} engines: {node: '>=13'} peerDependencies: @@ -12879,7 +13013,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.11.28 + '@types/node': 20.12.5 dev: true /methods@1.1.2: @@ -14146,7 +14280,7 @@ packages: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 20.10.4 + '@types/node': 20.11.28 long: 5.2.3 dev: false optional: true @@ -14166,7 +14300,7 @@ packages: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 20.10.4 + '@types/node': 20.11.28 long: 5.2.3 dev: false optional: true @@ -16326,7 +16460,7 @@ packages: typescript: 5.2.2 dev: true - /ts-node-dev@2.0.0(@swc/core@1.3.93)(@types/node@20.11.28)(typescript@5.2.2): + /ts-node-dev@2.0.0(@swc/core@1.3.93)(@types/node@20.12.5)(typescript@5.2.2): resolution: {integrity: sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==} engines: {node: '>=0.8.0'} hasBin: true @@ -16345,7 +16479,7 @@ packages: rimraf: 2.7.1 source-map-support: 0.5.21 tree-kill: 1.2.2 - ts-node: 10.9.2(@swc/core@1.3.93)(@types/node@20.11.28)(typescript@5.2.2) + ts-node: 10.9.2(@swc/core@1.3.93)(@types/node@20.12.5)(typescript@5.2.2) tsconfig: 7.0.0 typescript: 5.2.2 transitivePeerDependencies: @@ -16410,7 +16544,7 @@ packages: - '@types/node' dev: true - /ts-node-dev@2.0.0(@types/node@20.11.28)(typescript@5.2.2): + /ts-node-dev@2.0.0(@types/node@20.11.28)(typescript@5.4.2): resolution: {integrity: sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==} engines: {node: '>=0.8.0'} hasBin: true @@ -16421,7 +16555,7 @@ packages: node-notifier: optional: true dependencies: - chokidar: 3.5.3 + chokidar: 3.6.0 dynamic-dedupe: 0.3.0 minimist: 1.2.8 mkdirp: 1.0.4 @@ -16429,16 +16563,16 @@ packages: rimraf: 2.7.1 source-map-support: 0.5.21 tree-kill: 1.2.2 - ts-node: 10.9.1(@types/node@20.11.28)(typescript@5.2.2) + ts-node: 10.9.2(@types/node@20.11.28)(typescript@5.4.2) tsconfig: 7.0.0 - typescript: 5.2.2 + typescript: 5.4.2 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - '@types/node' dev: true - /ts-node-dev@2.0.0(@types/node@20.11.28)(typescript@5.4.2): + /ts-node-dev@2.0.0(@types/node@20.12.5)(typescript@5.2.2): resolution: {integrity: sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==} engines: {node: '>=0.8.0'} hasBin: true @@ -16449,7 +16583,7 @@ packages: node-notifier: optional: true dependencies: - chokidar: 3.6.0 + chokidar: 3.5.3 dynamic-dedupe: 0.3.0 minimist: 1.2.8 mkdirp: 1.0.4 @@ -16457,16 +16591,16 @@ packages: rimraf: 2.7.1 source-map-support: 0.5.21 tree-kill: 1.2.2 - ts-node: 10.9.2(@types/node@20.11.28)(typescript@5.4.2) + ts-node: 10.9.1(@types/node@20.12.5)(typescript@5.2.2) tsconfig: 7.0.0 - typescript: 5.4.2 + typescript: 5.2.2 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - '@types/node' dev: true - /ts-node@10.9.1(@types/node@20.11.28)(typescript@5.2.2): + /ts-node@10.9.1(@types/node@20.12.5)(typescript@5.2.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -16485,7 +16619,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.11.28 + '@types/node': 20.12.5 acorn: 8.11.2 acorn-walk: 8.3.0 arg: 4.1.3 @@ -16528,7 +16662,7 @@ packages: yn: 3.1.1 dev: true - /ts-node@10.9.2(@swc/core@1.3.93)(@types/node@20.11.28)(typescript@5.2.2): + /ts-node@10.9.2(@swc/core@1.3.93)(@types/node@20.12.5)(typescript@5.2.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -16548,7 +16682,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.11.28 + '@types/node': 20.12.5 acorn: 8.11.3 acorn-walk: 8.3.2 arg: 4.1.3 diff --git a/services/cron-jobs/crawler/.env.local b/services/cron-jobs/crawler/.env similarity index 82% rename from services/cron-jobs/crawler/.env.local rename to services/cron-jobs/crawler/.env index a712182c0..19bd35121 100644 --- a/services/cron-jobs/crawler/.env.local +++ b/services/cron-jobs/crawler/.env @@ -4,4 +4,4 @@ IMPORT_PROCEDURES_START_CURSOR=* DEBUG=* IMPORT_PROCEDURES_CHUNK_SIZE=50 IMPORT_PROCEDURES_CHUNK_ROUNDS=100000 -IMPORT_PROCEDURES_FILTER_AFTER=2021-09-26 \ No newline at end of file +IMPORT_PROCEDURES_FILTER_AFTER=2024-01-01 \ No newline at end of file diff --git a/services/cron-jobs/crawler/.env.local.example b/services/cron-jobs/crawler/.env.local.example new file mode 100644 index 000000000..09440b4b5 --- /dev/null +++ b/services/cron-jobs/crawler/.env.local.example @@ -0,0 +1,2 @@ +# Get api key from https://dip.bundestag.de/über-dip/hilfe/api +DIP_API_KEY=your_api_key diff --git a/services/cron-jobs/crawler/.gitignore b/services/cron-jobs/crawler/.gitignore index fbf9e2c06..d26377fe4 100644 --- a/services/cron-jobs/crawler/.gitignore +++ b/services/cron-jobs/crawler/.gitignore @@ -1,3 +1,4 @@ build/ node_modules/ coverage/ +.env.local \ No newline at end of file diff --git a/services/cron-jobs/crawler/package.json b/services/cron-jobs/crawler/package.json index dc0962a04..912756634 100644 --- a/services/cron-jobs/crawler/package.json +++ b/services/cron-jobs/crawler/package.json @@ -7,7 +7,7 @@ "author": "Manuel Ruck, Ulf Gebhardt, Robert Schäfer", "license": "MIT", "scripts": { - "dev": "tsup src/import-procedures --watch --onSuccess 'node build/index.js'", + "dev": "dotenv -e .env -e .env.local -- tsup src/import-procedures --watch --onSuccess 'node build/index.js'", "build": "tsup-node", "lint": "eslint .", "test": "jest", @@ -27,6 +27,7 @@ "@types/node": "^20.11.28", "@typescript-eslint/eslint-plugin": "^7.2.0", "@typescript-eslint/parser": "^7.2.0", + "dotenv-cli": "^7.4.1", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jest": "^27.9.0", diff --git a/services/cron-jobs/crawler/src/import-procedures/index.ts b/services/cron-jobs/crawler/src/import-procedures/index.ts index 9ff6a73cd..93c04c116 100644 --- a/services/cron-jobs/crawler/src/import-procedures/index.ts +++ b/services/cron-jobs/crawler/src/import-procedures/index.ts @@ -3,7 +3,7 @@ import { CONFIG } from '../config'; import importProcedures from './import-procedures'; (async () => { - await mongoConnect(); + await mongoConnect(CONFIG.DB_URL); const cronjob = await getCron({ name: 'import-procedures' }); console.log('cronjob', cronjob.lastSuccessStartDate); await setCronStart({ name: 'import-procedures' }); diff --git a/services/cron-jobs/import-conference-week-details/.env.local b/services/cron-jobs/import-conference-week-details/.env.local index 783c70e56..55aa66c7b 100644 --- a/services/cron-jobs/import-conference-week-details/.env.local +++ b/services/cron-jobs/import-conference-week-details/.env.local @@ -1,3 +1,4 @@ DB_URL=mongodb://localhost/bundestagio -CONFERENCE_WEEK_DETAIL_YEAR=2022 -CONFERENCE_WEEK_DETAIL_WEEK=2 +CONFERENCE_WEEK_DETAIL_YEAR=2021 +CONFERENCE_WEEK_DETAIL_WEEK=45 +DEBUG=* \ No newline at end of file diff --git a/services/cron-jobs/import-conference-week-details/package.json b/services/cron-jobs/import-conference-week-details/package.json index 8cde4f6cb..2c09319aa 100644 --- a/services/cron-jobs/import-conference-week-details/package.json +++ b/services/cron-jobs/import-conference-week-details/package.json @@ -4,7 +4,7 @@ "main": "build/index.js", "license": "Apache-2.0", "scripts": { - "dev": "tsup src/index.ts --watch --onSuccess 'node build/index.js'", + "dev": "dotenv -e .env.local -- tsup src/index.ts --watch --onSuccess 'node build/index.js'", "build": "tsup-node", "lint": "pnpm lint:ts && pnpm lint:exports", "lint:ts": "tsc --noEmit", @@ -20,6 +20,7 @@ }, "devDependencies": { "dotenv": "^16.0.0", + "dotenv-cli": "^7.4.1", "ts-node-dev": "^1.1.8", "ts-unused-exports": "^8.0.0", "tsconfig": "workspace:*", diff --git a/services/cron-jobs/import-conference-week-details/src/index.ts b/services/cron-jobs/import-conference-week-details/src/index.ts index 76dafbb3a..a9d062527 100644 --- a/services/cron-jobs/import-conference-week-details/src/index.ts +++ b/services/cron-jobs/import-conference-week-details/src/index.ts @@ -237,7 +237,7 @@ const start = async () => { if (!process.env.DB_URL) { throw new Error('you have to set environment variable: DB_URL'); } - await mongoConnect(); + await mongoConnect(process.env.DB_URL); console.log('procedures', await ProcedureModel.countDocuments({})); await start(); process.exit(0); diff --git a/services/cron-jobs/import-deputy-profiles/src/index.ts b/services/cron-jobs/import-deputy-profiles/src/index.ts index efe0b83de..29692944f 100644 --- a/services/cron-jobs/import-deputy-profiles/src/index.ts +++ b/services/cron-jobs/import-deputy-profiles/src/index.ts @@ -187,7 +187,7 @@ const start = async () => { if (!process.env.DB_URL) { throw new Error('you have to set environment variable: DB_URL'); } - await mongoConnect(); + await mongoConnect(process.env.DB_URL); console.log('deputies', await DeputyModel.countDocuments({})); await start(); process.exit(0); diff --git a/services/cron-jobs/import-named-poll-deputies/src/index.ts b/services/cron-jobs/import-named-poll-deputies/src/index.ts index 368f4cd21..0eb6adc7a 100644 --- a/services/cron-jobs/import-named-poll-deputies/src/index.ts +++ b/services/cron-jobs/import-named-poll-deputies/src/index.ts @@ -63,7 +63,7 @@ const start = async () => { if (!process.env.DB_URL) { throw new Error('you have to set environment variable: DB_URL'); } - await mongoConnect(); + await mongoConnect(process.env.DB_URL); console.log('procedures', await NamedPollModel.countDocuments({})); await start(); process.exit(0); diff --git a/services/cron-jobs/import-named-polls/src/index.ts b/services/cron-jobs/import-named-polls/src/index.ts index b7aa4dd6c..f23d141c3 100644 --- a/services/cron-jobs/import-named-polls/src/index.ts +++ b/services/cron-jobs/import-named-polls/src/index.ts @@ -53,7 +53,7 @@ const start = async () => { if (!process.env.DB_URL) { throw new Error('you have to set environment variable: DB_URL'); } - await mongoConnect(); + await mongoConnect(process.env.DB_URL); console.log('mongoConnect'); await start(); process.exit(0); diff --git a/services/cron-jobs/import-plenary-minutes/src/index.ts b/services/cron-jobs/import-plenary-minutes/src/index.ts index 80dd7bcdf..f9b4143d5 100644 --- a/services/cron-jobs/import-plenary-minutes/src/index.ts +++ b/services/cron-jobs/import-plenary-minutes/src/index.ts @@ -113,7 +113,7 @@ const start = async (period: number) => { if (!process.env.DB_URL) { throw new Error('you have to set environment variable: DB_URL'); } - await mongoConnect(); + await mongoConnect(process.env.DB_URL); console.log('PlenaryMinutes', await PlenaryMinuteModel.countDocuments({})); await start(19); await start(20); diff --git a/services/cron-jobs/index-sync-bundestagio/src/index.ts b/services/cron-jobs/index-sync-bundestagio/src/index.ts index e22c2def4..1d5f3a077 100644 --- a/services/cron-jobs/index-sync-bundestagio/src/index.ts +++ b/services/cron-jobs/index-sync-bundestagio/src/index.ts @@ -25,7 +25,7 @@ const start = async () => { if (!process.env.DB_URL) { throw new Error('you have to set environment variable: DB_URL'); } - await mongoConnect(); + await mongoConnect(process.env.DB_URL); console.log('cronjobs', await CronJobModel.countDocuments({})); await start(); process.exit(0); diff --git a/services/cron-jobs/push-send-queued/package.json b/services/cron-jobs/push-send-queued/package.json index 2e98557b9..88c7f88c2 100644 --- a/services/cron-jobs/push-send-queued/package.json +++ b/services/cron-jobs/push-send-queued/package.json @@ -7,7 +7,7 @@ "dev": "tsup src/index.ts --watch --onSuccess 'node build/index.js'", "lint": "pnpm lint:ts && pnpm lint:exports", "lint:ts": "tsc --noEmit", - "lint:exports": "ts-unused-exports ./tsconfig.json --excludePathsFromReport=generated --excludePathsFromReport=resolvers --excludePathsFromReport=/schemas", + "lint:exports": "ts-unused-exports ./tsconfig.json --excludePathsFromReport=generated --excludePathsFromReport=resolvers --excludePathsFromReport=/schemas --excludePathsFromReport=tsup.config.ts", "build": "tsup-node", "start": "node ./build/index.js", "apollo:codegen": "apollo client:codegen --target typescript --globalTypesFile=./src/__generated__/globalTypes.ts" diff --git a/services/cron-jobs/push-send-queued/src/config.ts b/services/cron-jobs/push-send-queued/src/config.ts index 0591586bc..fcfd1974b 100644 --- a/services/cron-jobs/push-send-queued/src/config.ts +++ b/services/cron-jobs/push-send-queued/src/config.ts @@ -1,4 +1,3 @@ -export const DB_URL = process.env.DB_URL; export const CRON_SEND_QUED_PUSHS_LIMIT = process.env.CRON_SEND_QUED_PUSHS_LIMIT ? parseInt(process.env.CRON_SEND_QUED_PUSHS_LIMIT, 10) : 1000; diff --git a/services/scrapers/scapacra-bt/.travis.yml b/services/scrapers/scapacra-bt/.travis.yml deleted file mode 100644 index c7f536837..000000000 --- a/services/scrapers/scapacra-bt/.travis.yml +++ /dev/null @@ -1,139 +0,0 @@ -env: - global: - - secure: "SipMyYuxp088L7/YsW81BIJXgw3SmymTgl7GU2quTfpPEqraJEZhhB81V3fBMW47xvBHzjgCWeoMVySG4tJMBxLrkqHLN085qcGOBT/CcWcNMvenVhmac4XcYY0hxUwST5F5KCgNsG+I0w9XPe//Fl09883ndRxvtaCl0wLWLeCGICe5hx9/jfAdFbwgAAmu43mMk0BjGJFoJRzLPNrProvjeVbGEAEKsFTYYgxHnW1S4IHu2hFlrL+698PcCDM0ynR4Ov2YY6nKHHnyX/6S5cRXmbKalu85a+1/pxdFeci1UQfaYP2ecM3UjV+x6B+Ndg/ThnPXjbhzIKK8WiKxYywx2MvG6bORP6bMSzDzefYfgnQf/Eh1YYJoG5+P3MLzSszQf8E7C1j/RuRusmdO2A9V68fRIlQrUteKz/Q1ComQkNsPePBh+oTuZpL0jFeGUYlQ+5bwjH7pPw1a4OG9kvZXcwqzZJOEbspLUoQJL2m9AJI6LHr1Qfp6Pm44LPfO8JU7Z+Q9qxVqIUm8z4JYPVmJhBJiEDa/YmrRvABxbvGfRBbBCYlbXMV3bKBZZ+HnpJkSC6xTJXbjZv2uWAUy7rOkG4WPui8MiBaLQPh/8LPHL8XTTwAfIdhALzX40+LQXXYDz+3AZaO2d4v9AZ6cMLBXJClG126BR04JYEqBEqA=" -matrix: - # sudo: required - include: - # test - - os: linux - language: node_js - node_js: 12 - install: - - yarn install - before_script: - - yarn build - script: - - yarn test - after_script: - - echo "SUCCESS: Finished Test-Build" - - # DeputyProfiles - Cron - - if: type IN (cron) - os: linux - language: node_js - node_js: 12 - install: - - yarn install - before_script: - - yarn build - # Prepare git - - openssl aes-256-cbc -k "$travis_key_password" -d -md sha256 -a -in ./.travis/travis_key.deputyprofiles.enc -out ./travis_key - - echo "Host github.com" > ~/.ssh/config - - echo " IdentityFile $(pwd)/travis_key" >> ~/.ssh/config - - chmod 400 travis_key - - echo "github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==" > ~/.ssh/known_hosts - # Clone git - - git clone git@github.com:bundestag/DeputyProfiles.git ./out/DeputyProfiles/ - script: - # Scrape - - yarn start DeputyProfile ./out/DeputyProfiles/data - after_script: - # Push to Git - - cd ./out/DeputyProfiles - - git add -A - - git commit -a -m "Travis $TRAVIS_BUILD_NUMBER update" - - git push - after_failure: - - echo "FAILED Scraped DeputyProfiles | Pushed to Git" - after_success: - - echo "SUCCESS Scraped DeputyProfiles & Pushed to Git" - - - if: type IN (cron) - os: linux - language: node_js - node_js: 12 - install: - - yarn install - before_script: - - yarn build - # Prepare git - - openssl aes-256-cbc -k "$travis_key_password" -d -md sha256 -a -in ./.travis/travis_key.namedpolls.enc -out ./travis_key - - echo "Host github.com" > ~/.ssh/config - - echo " IdentityFile $(pwd)/travis_key" >> ~/.ssh/config - - chmod 400 travis_key - - echo "github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==" > ~/.ssh/known_hosts - # Clone git - - git clone git@github.com:bundestag/NamedPolls.git ./out/NamedPolls/ - script: - # Scrape - - yarn start NamedPoll ./out/NamedPolls/data - after_script: - # Push to Git - - cd ./out/NamedPolls - - git add -A - - git commit -a -m "Travis $TRAVIS_BUILD_NUMBER update" - - git push - after_failure: - - echo "FAILED Scraped NamedPolls | Pushed to Git" - after_success: - - echo "SUCCESS Scraped NamedPolls & Pushed to Git" - - - if: type IN (cron) - os: linux - language: node_js - node_js: 12 - install: - - yarn install - before_script: - - yarn build - # Prepare git - - openssl aes-256-cbc -k "$travis_key_password" -d -md sha256 -a -in ./.travis/travis_key.namedpolldeputies.enc -out ./travis_key - - echo "Host github.com" > ~/.ssh/config - - echo " IdentityFile $(pwd)/travis_key" >> ~/.ssh/config - - chmod 400 travis_key - - echo "github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==" > ~/.ssh/known_hosts - # Clone git - - git clone git@github.com:bundestag/NamedPollDeputies.git ./out/NamedPollDeputies/ - script: - # Scrape - - yarn start NamedPollDeputy ./out/NamedPollDeputies/data - after_script: - # Push to Git - - cd ./out/NamedPollDeputies - - git add -A - - git commit -a -m "Travis $TRAVIS_BUILD_NUMBER update" - - git push - after_failure: - - echo "FAILED Scraped NamedPollDeputies | Pushed to Git" - after_success: - - echo "SUCCESS Scraped NamedPollDeputies & Pushed to Git" - - - if: type IN (cron) - os: linux - language: node_js - node_js: 12 - install: - - yarn install - before_script: - - yarn build - # Prepare git - - openssl aes-256-cbc -k "$travis_key_password" -d -md sha256 -a -in ./.travis/travis_key.conferenceweekdetails.enc -out ./travis_key - - echo "Host github.com" > ~/.ssh/config - - echo " IdentityFile $(pwd)/travis_key" >> ~/.ssh/config - - chmod 400 travis_key - - echo "github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==" > ~/.ssh/known_hosts - # Clone git - - git clone git@github.com:bundestag/ConferenceWeekDetails.git ./out/ConferenceWeekDetails/ - script: - # Scrape - - yarn start ConferenceWeekDetail ./out/ConferenceWeekDetails/data - after_script: - # Push to Git - - cd ./out/ConferenceWeekDetails - - git add -A - - git commit -a -m "Travis $TRAVIS_BUILD_NUMBER update" - - git push - after_failure: - - echo "FAILED Scraped ConferenceWeekDetails | Pushed to Git" - after_success: - - echo "SUCCESS Scraped ConferenceWeekDetails & Pushed to Git" \ No newline at end of file diff --git a/services/scrapers/scapacra-bt/package.json b/services/scrapers/scapacra-bt/package.json index 8fa9ff58c..1aa7554c7 100644 --- a/services/scrapers/scapacra-bt/package.json +++ b/services/scrapers/scapacra-bt/package.json @@ -19,10 +19,10 @@ "dev": "nodemon ./src/run.ts", "start": "node ./dist/run.js", "inspect": "node --inspect-brk ./dist/run.js", - "lint": "tslint --project tsconfig.json && yarn typecheck", + "lint": "tslint --project tsconfig.json && pnpm typecheck", "typecheck": "tsc --noEmit", "test": "mocha -r ts-node/register src/**/*.test.ts", - "prepublish": "yarn build" + "prepublish": "pnpm build" }, "bugs": { "url": "https://github.com/demokratie-live/bt-scapacra/issues" diff --git a/services/scrapers/scapacra/package.json b/services/scrapers/scapacra/package.json index b584db130..aba7d2f99 100644 --- a/services/scrapers/scapacra/package.json +++ b/services/scrapers/scapacra/package.json @@ -15,9 +15,8 @@ }, "scripts": { "build": "tsc", - "link": "cd dist && yarn link", "dev": "nodemon ./src/Example.ts", - "lint": "tslint --project tsconfig.json && yarn typecheck", + "lint": "tslint --project tsconfig.json && pnpm typecheck", "typecheck": "tsc --noEmit", "test": "mocha -r ts-node/register test/**/*.test.ts" }, diff --git a/turbo.json b/turbo.json index 91f940f76..7a3f97703 100644 --- a/turbo.json +++ b/turbo.json @@ -6,7 +6,8 @@ "dependsOn": ["^build"] }, "dev": { - "dependsOn": ["^build"] + "dependsOn": ["^build"], + "cache": false }, "lint": { "dependsOn": ["^build"]