From b04111bebb759d3de2f802be41fb08c0e72ab872 Mon Sep 17 00:00:00 2001 From: jowi Date: Sat, 14 Sep 2024 13:02:59 -0400 Subject: [PATCH 01/50] chore(api/env): generate env library pnpm exec nx generate @nx/js:library --name=env --directory=libs/env --importPath=@cuhacking/env --publishable=true --projectNameAndRootFormat=as-provided --unitTestRunner=vitest --no-interactive build(api/env): change package type to module --- .verdaccio/config.yml | 28 + libs/env/README.md | 11 + libs/env/eslint.config.js | 42 + libs/env/package.json | 10 + libs/env/project.json | 32 + libs/env/src/index.ts | 1 + libs/env/src/lib/env.spec.ts | 7 + libs/env/src/lib/env.ts | 3 + libs/env/tsconfig.json | 22 + libs/env/tsconfig.lib.json | 10 + libs/env/tsconfig.spec.json | 26 + libs/env/vite.config.ts | 24 + nx.json | 10 + package.json | 8 +- pnpm-lock.yaml | 1434 +++++++++++++++++++++++++++++++--- project.json | 14 + tsconfig.base.json | 14 +- 17 files changed, 1593 insertions(+), 103 deletions(-) create mode 100644 .verdaccio/config.yml create mode 100644 libs/env/README.md create mode 100644 libs/env/eslint.config.js create mode 100644 libs/env/package.json create mode 100644 libs/env/project.json create mode 100644 libs/env/src/index.ts create mode 100644 libs/env/src/lib/env.spec.ts create mode 100644 libs/env/src/lib/env.ts create mode 100644 libs/env/tsconfig.json create mode 100644 libs/env/tsconfig.lib.json create mode 100644 libs/env/tsconfig.spec.json create mode 100644 libs/env/vite.config.ts create mode 100644 project.json diff --git a/.verdaccio/config.yml b/.verdaccio/config.yml new file mode 100644 index 000000000..a007fe824 --- /dev/null +++ b/.verdaccio/config.yml @@ -0,0 +1,28 @@ +# path to a directory with all packages +storage: ../tmp/local-registry/storage + +# a list of other known repositories we can talk to +uplinks: + npmjs: + url: https://registry.npmjs.org/ + maxage: 60m + +packages: + '**': + # give all users (including non-authenticated users) full access + # because it is a local registry + access: $all + publish: $all + unpublish: $all + + # if package is not available locally, proxy requests to npm registry + proxy: npmjs + +# log settings +logs: + type: stdout + format: pretty + level: warn + +publish: + allow_offline: true # set offline to true to allow publish offline diff --git a/libs/env/README.md b/libs/env/README.md new file mode 100644 index 000000000..d442a89aa --- /dev/null +++ b/libs/env/README.md @@ -0,0 +1,11 @@ +# env + +This library was generated with [Nx](https://nx.dev). + +## Building + +Run `nx build env` to build the library. + +## Running unit tests + +Run `nx test env` to execute the unit tests via [Vitest](https://vitest.dev/). diff --git a/libs/env/eslint.config.js b/libs/env/eslint.config.js new file mode 100644 index 000000000..8f105660e --- /dev/null +++ b/libs/env/eslint.config.js @@ -0,0 +1,42 @@ +// TODO: merge with antfu eslint config +// const { FlatCompat } = require('@eslint/eslintrc'); +// const baseConfigPromise = require('../../eslint.config.js') +import baseConfigPromise from '../../eslint.config.js' +// const js = require('@eslint/js'); + +export default (async () => { + const baseConfig = await baseConfigPromise + + return [ + ...baseConfig, + + // The following configurations are commented out + // ...compat.extends( + // 'plugin:@nx/react-typescript', + // 'next', + // 'next/core-web-vitals' + // ), + // { + // files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'], + // rules: { + // '@next/next/no-html-link-for-pages': ['error', 'apps/portal/pages'], + // }, + // }, + // { + // files: ['**/*.ts', '**/*.tsx'], + // rules: {}, + // }, + // { + // files: ['**/*.js', '**/*.jsx'], + // rules: {}, + // }, + // ...compat.config({ env: { jest: true } }).map((config) => ({ + // ...config, + // files: ['**/*.spec.ts', '**/*.spec.tsx', '**/*.spec.js', '**/*.spec.jsx'], + // rules: { + // ...config.rules, + // }, + // })), + // { ignores: ['.next/**/*'] }, + ] +})() diff --git a/libs/env/package.json b/libs/env/package.json new file mode 100644 index 000000000..e28cb24ad --- /dev/null +++ b/libs/env/package.json @@ -0,0 +1,10 @@ +{ + "name": "@cuhacking/env", + "type": "module", + "version": "0.0.1", + "main": "./src/index.js", + "dependencies": { + "tslib": "^2.3.0" + }, + "typings": "./src/index.d.ts" +} diff --git a/libs/env/project.json b/libs/env/project.json new file mode 100644 index 000000000..6c1365c55 --- /dev/null +++ b/libs/env/project.json @@ -0,0 +1,32 @@ +{ + "name": "env", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "libs/env/src", + "projectType": "library", + "release": { + "version": { + "generatorOptions": { + "packageRoot": "dist/{projectRoot}", + "currentVersionResolver": "git-tag" + } + } + }, + "tags": [], + "targets": { + "build": { + "executor": "@nx/js:tsc", + "outputs": ["{options.outputPath}"], + "options": { + "outputPath": "dist/libs/env", + "main": "libs/env/src/index.ts", + "tsConfig": "libs/env/tsconfig.lib.json", + "assets": ["libs/env/*.md"] + } + }, + "nx-release-publish": { + "options": { + "packageRoot": "dist/{projectRoot}" + } + } + } +} diff --git a/libs/env/src/index.ts b/libs/env/src/index.ts new file mode 100644 index 000000000..63fd1d60f --- /dev/null +++ b/libs/env/src/index.ts @@ -0,0 +1 @@ +export * from './lib/env' diff --git a/libs/env/src/lib/env.spec.ts b/libs/env/src/lib/env.spec.ts new file mode 100644 index 000000000..32fbc717b --- /dev/null +++ b/libs/env/src/lib/env.spec.ts @@ -0,0 +1,7 @@ +import { env } from './env' + +describe('env', () => { + it('should work', () => { + expect(env()).toEqual('env') + }) +}) diff --git a/libs/env/src/lib/env.ts b/libs/env/src/lib/env.ts new file mode 100644 index 000000000..b4d7f9098 --- /dev/null +++ b/libs/env/src/lib/env.ts @@ -0,0 +1,3 @@ +export function env(): string { + return 'env' +} diff --git a/libs/env/tsconfig.json b/libs/env/tsconfig.json new file mode 100644 index 000000000..f61ea1970 --- /dev/null +++ b/libs/env/tsconfig.json @@ -0,0 +1,22 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "commonjs", + "strict": true, + "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noPropertyAccessFromIndexSignature": true, + "forceConsistentCasingInFileNames": true + }, + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } + ], + "files": [], + "include": [] +} diff --git a/libs/env/tsconfig.lib.json b/libs/env/tsconfig.lib.json new file mode 100644 index 000000000..bcf4ea7e2 --- /dev/null +++ b/libs/env/tsconfig.lib.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "types": ["node"], + "declaration": true, + "outDir": "../../dist/out-tsc" + }, + "include": ["src/**/*.ts"], + "exclude": ["vite.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] +} diff --git a/libs/env/tsconfig.spec.json b/libs/env/tsconfig.spec.json new file mode 100644 index 000000000..983ad91ec --- /dev/null +++ b/libs/env/tsconfig.spec.json @@ -0,0 +1,26 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "types": [ + "vitest/globals", + "vitest/importMeta", + "vite/client", + "node", + "vitest" + ], + "outDir": "../../dist/out-tsc" + }, + "include": [ + "vite.config.ts", + "vitest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" + ] +} diff --git a/libs/env/vite.config.ts b/libs/env/vite.config.ts new file mode 100644 index 000000000..732ee171d --- /dev/null +++ b/libs/env/vite.config.ts @@ -0,0 +1,24 @@ +import { defineConfig } from 'vite' + +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin' + +export default defineConfig({ + root: __dirname, + cacheDir: '../../node_modules/.vite/libs/env', + + plugins: [nxViteTsPaths()], + + // Uncomment this if you are using workers. + // worker: { + // plugins: [ nxViteTsPaths() ], + // }, + + test: { + watch: false, + globals: true, + environment: 'node', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + reporters: ['default'], + coverage: { reportsDirectory: '../../coverage/libs/env', provider: 'v8' }, + }, +}) diff --git a/nx.json b/nx.json index f359bff9b..5508daa82 100644 --- a/nx.json +++ b/nx.json @@ -75,6 +75,16 @@ "cache": true, "dependsOn": ["^build"], "inputs": ["production", "^production"] + }, + "@nx/js:tsc": { + "cache": true, + "dependsOn": ["^build"], + "inputs": ["production", "^production"] + } + }, + "release": { + "version": { + "preVersionCommand": "pnpm dlx nx run-many -t build" } } } diff --git a/package.json b/package.json index 1f54b2ab6..cb25c77a9 100644 --- a/package.json +++ b/package.json @@ -46,12 +46,12 @@ "@nx/eslint": "19.5.7", "@nx/eslint-plugin": "19.5.7", "@nx/jest": "19.5.7", - "@nx/js": "19.5.7", + "@nx/js": "19.6.0", "@nx/next": "19.5.7", "@nx/playwright": "19.5.7", "@nx/remix": "19.5.7", "@nx/vite": "^19.6.0", - "@nx/web": "19.5.7", + "@nx/web": "19.6.0", "@nx/workspace": "19.5.7", "@playwright/test": "^1.36.0", "@remix-run/dev": "^2.8.1", @@ -106,10 +106,14 @@ "ts-jest": "^29.1.0", "ts-node": "10.9.1", "typescript": "~5.5.2", + "verdaccio": "^5.0.4", "vite": "^5.0.0", "vitest": "^2.0.5" }, "lint-staged": { "*": "eslint --cache --fix" + }, + "nx": { + "includedScripts": [] } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8f401ae3b..abd243ffd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -77,31 +77,31 @@ importers: version: 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) '@nx/eslint': specifier: 19.5.7 - version: 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) + version: 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(verdaccio@5.32.2(typanion@3.14.0)) '@nx/eslint-plugin': specifier: 19.5.7 - version: 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + version: 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/jest': specifier: 19.5.7 - version: 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4))(typescript@5.5.4) + version: 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/js': - specifier: 19.5.7 - version: 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + specifier: 19.6.0 + version: 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/next': specifier: 19.5.7 - version: 19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.17.6)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + version: 19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.17.6)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) '@nx/playwright': specifier: 19.5.7 - version: 19.5.7(@babel/traverse@7.25.3)(@playwright/test@1.46.0)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + version: 19.5.7(@babel/traverse@7.25.3)(@playwright/test@1.46.0)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/remix': specifier: 19.5.7 - version: 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + version: 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) '@nx/vite': specifier: ^19.6.0 - version: 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(vite@5.4.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))(vitest@2.0.5(@types/node@18.16.9)(@vitest/ui@2.0.5)(jsdom@22.1.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5)) + version: 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(vite@5.4.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))(vitest@2.0.5(@types/node@18.16.9)(@vitest/ui@2.0.5)(jsdom@22.1.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5)) '@nx/web': - specifier: 19.5.7 - version: 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + specifier: 19.6.0 + version: 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/workspace': specifier: 19.5.7 version: 19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)) @@ -264,6 +264,9 @@ importers: typescript: specifier: ~5.5.2 version: 5.5.4 + verdaccio: + specifier: ^5.0.4 + version: 5.32.2(typanion@3.14.0) vite: specifier: ^5.0.0 version: 5.4.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5) @@ -1101,6 +1104,10 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} + '@cypress/request@3.0.1': + resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==} + engines: {node: '>= 6'} + '@dprint/formatter@0.3.0': resolution: {integrity: sha512-N9fxCxbaBOrDkteSOzaCqwWjso5iAe+WJPsHC021JfHNj2ThInPNEF13ORDKta3llq5D1TlclODCvOvipH7bWQ==} @@ -1792,6 +1799,9 @@ packages: '@nrwl/web@19.5.7': resolution: {integrity: sha512-QKnxI91kpsv2In/WGcEHgm4VifY6Oflgtr4GSGgI0SogfAs0TYU7J4fDLKKuX1KQeO5y9PQ2V0/ci4NjiDnRXw==} + '@nrwl/web@19.6.0': + resolution: {integrity: sha512-Z1e67Z07nBZDWiCerdbAW0X6U1eAmo6awkvMoNw/w/Qr0PY2TdPLcBR7KoPg6rP8eCGeWTKHOVsLCgaWMdjF3A==} + '@nrwl/webpack@19.5.7': resolution: {integrity: sha512-I9dMTCrB/sZHeKnGoX3b8gwBObegjSNytBj5rBqJMLke2DIEbtOTE2oTj/vNpk7CIn0IEy5+5qTLWGIvESuH3w==} @@ -1999,6 +2009,9 @@ packages: '@nx/web@19.5.7': resolution: {integrity: sha512-ToZmgBuB1AJBFxY6+qILf+JyRgRjqbOIzwa0oyydwqFGPUr5UiHTDuDvmjHKOKsTZKcwfg/ladtvQkt943h/CQ==} + '@nx/web@19.6.0': + resolution: {integrity: sha512-R61dbGvG9TgEPPV6D8THED31yK4O4W5zlJdTzabWBTpkI6cIgnU2sDULJGdo/eEjQC3YLXU00knvhhpGERpGgg==} + '@nx/webpack@19.5.7': resolution: {integrity: sha512-llnefD+MHajVVHslf1Wo8BMYT7U4Z1zhg1qpFc9DvBNC2GcM86D8KmNi0JJbBMV/f1Xuk5cAa9Dwj8B3BE3ynQ==} @@ -3425,6 +3438,85 @@ packages: '@vanilla-extract/private@1.0.5': resolution: {integrity: sha512-6YXeOEKYTA3UV+RC8DeAjFk+/okoNz/h88R+McnzA2zpaVqTR/Ep+vszkWYlGBcMNO7vEkqbq5nT/JMMvhi+tw==} + '@verdaccio/auth@8.0.0-next-8.1': + resolution: {integrity: sha512-sPmHdnYuRSMgABCsTJEfz8tb/smONsWVg0g4KK2QycyYZ/A+RwZLV1JLiQb4wzu9zvS0HSloqWqkWlyNHW3mtw==} + engines: {node: '>=18'} + + '@verdaccio/commons-api@10.2.0': + resolution: {integrity: sha512-F/YZANu4DmpcEV0jronzI7v2fGVWkQ5Mwi+bVmV+ACJ+EzR0c9Jbhtbe5QyLUuzR97t8R5E/Xe53O0cc2LukdQ==} + engines: {node: '>=8'} + + '@verdaccio/config@8.0.0-next-8.1': + resolution: {integrity: sha512-goDVOH4e8xMUxjHybJpi5HwIecVFqzJ9jeNFrRUgtUUn0PtFuNMHgxOeqDKRVboZhc5HK90yed8URK/1O6VsUw==} + engines: {node: '>=14'} + + '@verdaccio/core@8.0.0-next-8.1': + resolution: {integrity: sha512-kQRCB2wgXEh8H88G51eQgAFK9IxmnBtkQ8sY5FbmB6PbBkyHrbGcCp+2mtRqqo36j0W1VAlfM3XzoknMy6qQnw==} + engines: {node: '>=14'} + + '@verdaccio/file-locking@10.3.1': + resolution: {integrity: sha512-oqYLfv3Yg3mAgw9qhASBpjD50osj2AX4IwbkUtyuhhKGyoFU9eZdrbeW6tpnqUnj6yBMtAPm2eGD4BwQuX400g==} + engines: {node: '>=12'} + + '@verdaccio/file-locking@13.0.0-next-8.0': + resolution: {integrity: sha512-28XRwpKiE3Z6KsnwE7o8dEM+zGWOT+Vef7RVJyUlG176JVDbGGip3HfCmFioE1a9BklLyGEFTu6D69BzfbRkzA==} + engines: {node: '>=12'} + + '@verdaccio/loaders@8.0.0-next-8.1': + resolution: {integrity: sha512-mqGCUBs862g8mICZwX8CG92p1EZ1Un0DJ2DB7+iVu2TYaEeKoHoIdafabVdiYrbOjLcAOOBrMKE1Wnn14eLxpA==} + engines: {node: '>=18'} + + '@verdaccio/local-storage-legacy@11.0.2': + resolution: {integrity: sha512-7AXG7qlcVFmF+Nue2oKaraprGRtaBvrQIOvc/E89+7hAe399V01KnZI6E/ET56u7U9fq0MSlp92HBcdotlpUXg==} + engines: {node: '>=12'} + + '@verdaccio/logger-7@8.0.0-next-8.1': + resolution: {integrity: sha512-V+/B1Wnct3IZ90q6HkI1a3dqbS0ds7s/5WPrS5cmBeLEw78/OGgF76XkhI2+lett7Un1CjVow7mcebOWcZ/Sqw==} + engines: {node: '>=12'} + + '@verdaccio/logger-commons@8.0.0-next-8.1': + resolution: {integrity: sha512-jCge//RT4uaK7MarhpzcJeJ5Uvtu/DbJ1wvJQyGiFe+9AvxDGm3EUFXvawLFZ0lzYhmLt1nvm7kevcc3vOm2ZQ==} + engines: {node: '>=12'} + + '@verdaccio/logger-prettify@8.0.0-next-8.0': + resolution: {integrity: sha512-7mAFHZF2NPTubrOXYp2+fbMjRW5MMWXMeS3LcpupMAn5uPp6jkKEM8NC4IVJEevC5Ph4vPVZqpoPDpgXHEaV3Q==} + engines: {node: '>=12'} + + '@verdaccio/logger@8.0.0-next-8.1': + resolution: {integrity: sha512-w5kR0/umQkfH2F4PK5Fz9T6z3xz+twewawKLPTUfAgrVAOiWxcikGhhcHWhSGiJ0lPqIa+T0VYuLWMeVeDirGw==} + engines: {node: '>=18'} + + '@verdaccio/middleware@8.0.0-next-8.1': + resolution: {integrity: sha512-GpAdJYky1WmOERpxPoCkVSwTTJIsVAjqf2a2uQNvi7R3UZhs059JKhWcZjJMVCGV0uz9xgQvtb3DEuYGHqyaOg==} + engines: {node: '>=12'} + + '@verdaccio/search-indexer@8.0.0-next-8.0': + resolution: {integrity: sha512-VS9axVt8XAueiPceVCgaj9nlvYj5s/T4MkAILSf2rVZeFFOMUyxU3mddUCajSHzL+YpqCuzLLL9865sRRzOJ9w==} + engines: {node: '>=12'} + + '@verdaccio/signature@8.0.0-next-8.0': + resolution: {integrity: sha512-klcc2UlCvQxXDV65Qewo2rZOfv7S1y8NekS/8uurSaCTjU35T+fz+Pbqz1S9XK9oQlMp4vCQ7w3iMPWQbvphEQ==} + engines: {node: '>=14'} + + '@verdaccio/streams@10.2.1': + resolution: {integrity: sha512-OojIG/f7UYKxC4dYX8x5ax8QhRx1b8OYUAMz82rUottCuzrssX/4nn5QE7Ank0DUSX3C9l/HPthc4d9uKRJqJQ==} + engines: {node: '>=12', npm: '>=5'} + + '@verdaccio/tarball@13.0.0-next-8.1': + resolution: {integrity: sha512-58uimU2Bqt9+s+9ixy7wK/nPCqbOXhhhr/MQjl+otIlsUhSeATndhFzEctz/W+4MhUDg0tUnE9HC2yeNHHAo1Q==} + engines: {node: '>=14'} + + '@verdaccio/ui-theme@8.0.0-next-8.1': + resolution: {integrity: sha512-9PxV8+jE2Tr+iy9DQW/bzny4YqOlW0mCZ9ct6jhcUW4GdfzU//gY2fBN/DDtQVmfbTy8smuj4Enyv5f0wCsnYg==} + + '@verdaccio/url@13.0.0-next-8.1': + resolution: {integrity: sha512-h6pkJf+YtogImKgOrmPP9UVG3p3gtb67gqkQU0bZnK+SEKQt6Rkek/QvtJ8MbmciagYS18bDhpI8DxqLHjDfZQ==} + engines: {node: '>=12'} + + '@verdaccio/utils@7.0.1-next-8.1': + resolution: {integrity: sha512-cyJdRrVa+8CS7UuIQb3K3IJFjMe64v38tYiBnohSmhRbX7dX9IT3jWbjrwkqWh4KeS1CS6BYENrGG1evJ2ggrQ==} + engines: {node: '>=12'} + '@vitejs/plugin-react-swc@3.7.0': resolution: {integrity: sha512-yrknSb3Dci6svCd/qhHqhFPDSw0QtjumcqdKMoNNzmOl5lMXTTiqzjWtG4Qask2HdvvzaNgSunbQGet8/GrKdA==} peerDependencies: @@ -3696,6 +3788,10 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} + apache-md5@1.1.8: + resolution: {integrity: sha512-FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA==} + engines: {node: '>=8'} + are-docs-informative@0.0.2: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} engines: {node: '>=14'} @@ -3768,6 +3864,13 @@ packages: resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} + asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + + assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} @@ -3782,6 +3885,9 @@ packages: async@2.6.4: resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} + async@3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + async@3.2.5: resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} @@ -3792,6 +3898,10 @@ packages: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} + atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + autoprefixer@10.4.13: resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} engines: {node: ^10 || ^12 || >=14} @@ -3803,6 +3913,12 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} + aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + + aws4@1.13.2: + resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} + axe-core@4.10.0: resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==} engines: {node: '>=4'} @@ -3814,6 +3930,9 @@ packages: resolution: {integrity: sha512-aPTElBrbifBU1krmZxGZOlBkslORe7Ll7+BDnI50Wy4LgOt69luMgevkDfTq1O/ZgprooPCtWpjCwKSZw/iZ4A==} engines: {node: '>= 0.4'} + b4a@1.6.6: + resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} + babel-jest@29.7.0: resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -3884,6 +4003,9 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + bare-events@2.4.2: + resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==} + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -3894,6 +4016,12 @@ packages: batch@0.6.1: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + + bcryptjs@2.4.3: + resolution: {integrity: sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==} + before-after-hook@3.0.2: resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} @@ -3914,6 +4042,10 @@ packages: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + bonjour-service@1.2.1: resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} @@ -3953,12 +4085,18 @@ packages: engines: {node: '>= 0.4.0'} hasBin: true + buffer-equal-constant-time@1.0.1: + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} @@ -4017,6 +4155,9 @@ packages: caniuse-lite@1.0.30001651: resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} + caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -4149,6 +4290,11 @@ packages: client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + clipanion@4.0.0-rc.3: + resolution: {integrity: sha512-+rJOJMt2N6Oikgtfqmo/Duvme7uz3SIedL2b6ycgCztQMiTfr3aQh2DDyLHl+QUPClKMNpSg3gDJFvNQYIcq1g==} + peerDependencies: + typanion: '*' + cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} @@ -4356,9 +4502,19 @@ packages: core-js-compat@3.38.0: resolution: {integrity: sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==} + core-js@3.37.1: + resolution: {integrity: sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==} + + core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + corser@2.0.1: resolution: {integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==} engines: {node: '>= 0.4.0'} @@ -4687,6 +4843,10 @@ packages: resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} engines: {node: '>=12'} + dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + data-uri-to-buffer@3.0.1: resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==} engines: {node: '>= 6'} @@ -4718,6 +4878,9 @@ packages: dayjs@1.11.12: resolution: {integrity: sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==} + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -4742,6 +4905,15 @@ packages: supports-color: optional: true + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@4.3.6: resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} engines: {node: '>=6.0'} @@ -4751,6 +4923,15 @@ packages: supports-color: optional: true + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} @@ -4945,9 +5126,18 @@ packages: duplexify@3.7.1: resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} + duplexify@4.1.3: + resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + + ecdsa-sig-formatter@1.0.11: + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} @@ -4986,6 +5176,10 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} @@ -5013,6 +5207,11 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + envinfo@7.13.0: + resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} + engines: {node: '>=4'} + hasBin: true + environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} @@ -5562,10 +5761,17 @@ packages: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + express-rate-limit@5.5.1: + resolution: {integrity: sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg==} + express@4.19.2: resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} engines: {node: '>= 0.10.0'} + express@4.21.0: + resolution: {integrity: sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==} + engines: {node: '>= 0.10.0'} + extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -5577,12 +5783,19 @@ packages: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} + extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} fast-diff@1.3.0: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + fast-glob@3.2.7: resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==} engines: {node: '>=8'} @@ -5597,6 +5810,13 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-redact@3.5.0: + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} + engines: {node: '>=6'} + + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + fast-uri@3.0.1: resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==} @@ -5649,6 +5869,10 @@ packages: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + find-cache-dir@4.0.0: resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} engines: {node: '>=14.16'} @@ -5729,6 +5953,9 @@ packages: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} + forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + fork-ts-checker-webpack-plugin@7.2.13: resolution: {integrity: sha512-fR3WRkOb4bQdWB/y7ssDUlVdrclvwtyCUIHCfivAoYxq9dF7XfrDKbMdZIfwJ7hxIAqkYSGeU7lLJE6xrxIBdg==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} @@ -5740,6 +5967,10 @@ packages: vue-template-compiler: optional: true + form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} @@ -5907,6 +6138,9 @@ packages: get-tsconfig@4.7.6: resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==} + getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + git-log-parser@1.2.1: resolution: {integrity: sha512-PI+sPDvHXNPl5WNOErAK05s3j0lgwUzMN6o8cyQrDaKfT3qd7TmNJKeXX+SknI5I0QhG5fVPAEwSY4tRGDtYoQ==} @@ -5938,6 +6172,10 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true + glob@6.0.4: + resolution: {integrity: sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==} + deprecated: Glob versions prior to v9 are no longer supported + glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -6180,6 +6418,16 @@ packages: engines: {node: '>=12'} hasBin: true + http-signature@1.3.6: + resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==} + engines: {node: '>=0.10'} + + http-status-codes@2.2.0: + resolution: {integrity: sha512-feERVo9iWxvnejp3SEfm/+oNG517npqL2/PIA8ORjyOZjGC7TwCRQsZylciLS64i6pJ0wRYz3rkXLRwbtFa8Ng==} + + http-status-codes@2.3.0: + resolution: {integrity: sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==} + https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} @@ -6502,6 +6750,9 @@ packages: is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + is-promise@2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + is-reference@3.0.2: resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} @@ -6545,6 +6796,9 @@ packages: resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} @@ -6600,6 +6854,9 @@ packages: peerDependencies: ws: '*' + isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + issue-parser@7.0.1: resolution: {integrity: sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==} engines: {node: ^18.17 || >=20.6.1} @@ -6811,6 +7068,9 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + jsdoc-type-pratt-parser@4.0.0: resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} engines: {node: '>=12.0.0'} @@ -6870,9 +7130,15 @@ packages: json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true @@ -6899,10 +7165,24 @@ packages: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} + jsonwebtoken@9.0.2: + resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} + engines: {node: '>=12', npm: '>=6'} + + jsprim@2.0.2: + resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} + engines: {'0': node >=0.6.0} + jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} + jwa@1.4.1: + resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + + jws@3.2.2: + resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} + katex@0.16.11: resolution: {integrity: sha512-RQrI8rlHY92OLf3rho/Ts8i/XvjgguEjOkO1BEXcU3N8BqPpSzBNwV/G0Ukr+P/l3ivvJUE/Fa/CwbS6HesGNQ==} hasBin: true @@ -7047,6 +7327,9 @@ packages: resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + lockfile@1.0.4: + resolution: {integrity: sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==} + lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} @@ -7068,6 +7351,18 @@ packages: lodash.escaperegexp@4.1.2: resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} + lodash.includes@4.3.0: + resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} + + lodash.isboolean@3.0.3: + resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + + lodash.isinteger@4.0.4: + resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} + + lodash.isnumber@3.0.3: + resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} + lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} @@ -7089,6 +7384,9 @@ packages: lodash.mergewith@4.6.2: resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + lodash.snakecase@4.1.1: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} @@ -7136,6 +7434,10 @@ packages: loupe@3.1.1: resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} + lowdb@1.0.0: + resolution: {integrity: sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==} + engines: {node: '>=4'} + lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} @@ -7322,6 +7624,9 @@ packages: merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -7561,6 +7866,16 @@ packages: engines: {node: '>=4'} hasBin: true + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + + mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + mime@4.0.4: resolution: {integrity: sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==} engines: {node: '>=16'} @@ -7606,6 +7921,10 @@ packages: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} + minimatch@7.4.6: + resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} + engines: {node: '>=10'} + minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -7702,6 +8021,10 @@ packages: resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + mv@2.1.1: + resolution: {integrity: sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==} + engines: {node: '>=0.8.0'} + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -7716,6 +8039,10 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + ncp@2.0.0: + resolution: {integrity: sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==} + hasBin: true + needle@3.3.1: resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} engines: {node: '>= 4.4.x'} @@ -7765,6 +8092,15 @@ packages: resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} engines: {node: '>=18'} + node-fetch@2.6.7: + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} @@ -7987,6 +8323,13 @@ packages: obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + on-exit-leak-free@0.2.0: + resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} + + on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + on-finished@2.3.0: resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} engines: {node: '>= 0.8'} @@ -8214,6 +8557,9 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} + path-to-regexp@0.1.10: + resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} + path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} @@ -8235,6 +8581,9 @@ packages: peek-stream@1.1.3: resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==} + performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} @@ -8266,6 +8615,26 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} + pino-abstract-transport@0.5.0: + resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==} + + pino-abstract-transport@1.1.0: + resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} + + pino-std-serializers@4.0.0: + resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==} + + pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + + pino@7.11.0: + resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} + hasBin: true + + pino@8.17.2: + resolution: {integrity: sha512-LA6qKgeDMLr2ux2y/YiUt47EfgQ+S9LznBWOJdN3q1dx2sv0ziDLUBeVpyVv17TEcGCBuWf0zNtg3M5m1NhhWQ==} + hasBin: true + pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} @@ -8285,6 +8654,10 @@ packages: pkg-types@1.1.3: resolution: {integrity: sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==} + pkginfo@0.4.1: + resolution: {integrity: sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ==} + engines: {node: '>= 0.4.0'} + playwright-core@1.46.0: resolution: {integrity: sha512-9Y/d5UIwuJk8t3+lhmMSAJyNP1BUC/DqP3cQJDQQL/oWqAiuPTLgy7Q5dzglmTLwcBRdetzgNM/gni7ckfTr6A==} engines: {node: '>=18'} @@ -8611,6 +8984,16 @@ packages: process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + process-warning@1.0.0: + resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} + + process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + promise-inflight@1.0.1: resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: @@ -8665,6 +9048,10 @@ packages: pure-rand@6.1.0: resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + qs@6.10.4: + resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} + engines: {node: '>=0.6'} + qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} @@ -8679,9 +9066,15 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + queue@6.0.2: resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} + quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + rambda@9.2.1: resolution: {integrity: sha512-6Dp+QQVQuAuhwBlbIvL2FjJVHCKF29W+n9ca/BMTVDqpj+Q7KKqUh7UAINEna8aaB2/oRvPuL5hViCTQARa70Q==} @@ -8817,10 +9210,22 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} + readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + real-require@0.1.0: + resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==} + engines: {node: '>= 12.13.0'} + + real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} @@ -8989,6 +9394,11 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + rimraf@2.4.5: + resolution: {integrity: sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -9040,6 +9450,10 @@ packages: resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} + safe-stable-stringify@2.5.0: + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} + engines: {node: '>=10'} + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -9139,6 +9553,10 @@ packages: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} @@ -9150,6 +9568,10 @@ packages: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} + set-cookie-parser@2.7.0: resolution: {integrity: sha512-lXLOiqpkUumhRdFF3k1osNXCy9akgx/dyPZ5p8qAg9seJzXr5ZrlqZuWIMuY6ejOsVLE6flJ5/h3lsn57fQ/PQ==} @@ -9247,6 +9669,15 @@ packages: sockjs@0.3.24: resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + sonic-boom@2.8.0: + resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} + + sonic-boom@3.8.0: + resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} + + sonic-boom@3.8.1: + resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} + sorted-array-functions@1.3.0: resolution: {integrity: sha512-2sqgzeFlid6N4Z2fUQ1cvFmTOLRi/sEDzSQ0OKYchqgoPmQBVyM3959qYx3fpS6Esef80KjmpgPeEr028dP3OA==} @@ -9315,6 +9746,11 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} + engines: {node: '>=0.10.0'} + hasBin: true + ssri@10.0.6: resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -9340,6 +9776,9 @@ packages: std-env@3.7.0: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + steno@0.4.4: + resolution: {integrity: sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==} + stream-combiner2@1.1.1: resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} @@ -9357,6 +9796,9 @@ packages: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} + streamx@2.20.1: + resolution: {integrity: sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==} + string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -9576,6 +10018,9 @@ packages: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} + tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} @@ -9617,6 +10062,9 @@ packages: resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} engines: {node: '>=18'} + text-decoder@1.2.0: + resolution: {integrity: sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==} + text-extensions@2.4.0: resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} engines: {node: '>=8'} @@ -9631,6 +10079,12 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + thread-stream@0.15.2: + resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} + + thread-stream@2.7.0: + resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} + through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} @@ -9700,6 +10154,9 @@ packages: resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} engines: {node: '>=6'} + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@3.0.0: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} @@ -9802,9 +10259,18 @@ packages: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} engines: {node: '>=0.6.x'} + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + turbo-stream@2.3.0: resolution: {integrity: sha512-PhEr9mdexoVv+rJkQ3c8TjrN3DUghX37GNJkSMksoPR4KrXIPnM2MnqRt07sViIqX9IdlhrgtTSyjoVOASq6cg==} + tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + + typanion@3.14.0: + resolution: {integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -10001,6 +10467,9 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} + unix-crypt-td-js@1.1.4: + resolution: {integrity: sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==} + unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} @@ -10090,10 +10559,31 @@ packages: resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + validator@13.12.0: + resolution: {integrity: sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==} + engines: {node: '>= 0.10'} + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} + verdaccio-audit@13.0.0-next-8.1: + resolution: {integrity: sha512-EEfUeC1kHuErtwF9FC670W+EXHhcl+iuigONkcprwRfkPxmdBs+Hx36745hgAMZ9SCqedNECaycnGF3tZ3VYfw==} + engines: {node: '>=12'} + + verdaccio-htpasswd@13.0.0-next-8.1: + resolution: {integrity: sha512-BfvmO+ZdbwfttOwrdTPD6Bccr1ZfZ9Tk/9wpXamxdWB/XPWlk3FtyGsvqCmxsInRLPhQ/FSk9c3zRCGvICTFYg==} + engines: {node: '>=12'} + + verdaccio@5.32.2: + resolution: {integrity: sha512-QnVYIUvwB884fwVcA/D+x7AabsRPlTPyYAKMtExm8kJjiH+s2LGK2qX2o3I4VmYXqBR3W9b8gEnyQnGwQhUPsw==} + engines: {node: '>=14'} + hasBin: true + + verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + vfile-location@5.0.3: resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} @@ -10211,6 +10701,9 @@ packages: web-worker@1.3.0: resolution: {integrity: sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==} + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -10290,6 +10783,9 @@ packages: resolution: {integrity: sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==} engines: {node: '>=14'} + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -11568,6 +12064,27 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 + '@cypress/request@3.0.1': + dependencies: + aws-sign2: 0.7.0 + aws4: 1.13.2 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + http-signature: 1.3.6 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + performance-now: 2.1.0 + qs: 6.10.4 + safe-buffer: 5.2.1 + tough-cookie: 4.1.4 + tunnel-agent: 0.6.0 + uuid: 8.3.2 + '@dprint/formatter@0.3.0': {} '@dprint/markdown@0.17.2': {} @@ -12375,9 +12892,9 @@ snapshots: transitivePeerDependencies: - nx - '@nrwl/eslint-plugin-nx@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)': + '@nrwl/eslint-plugin-nx@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: - '@nx/eslint-plugin': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nx/eslint-plugin': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -12393,9 +12910,9 @@ snapshots: - typescript - verdaccio - '@nrwl/jest@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4))(typescript@5.5.4)': + '@nrwl/jest@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: - '@nx/jest': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4))(typescript@5.5.4) + '@nx/jest': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -12411,9 +12928,9 @@ snapshots: - typescript - verdaccio - '@nrwl/js@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.4.5)': + '@nrwl/js@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.4.5)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: - '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.4.5) + '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.4.5)(verdaccio@5.32.2(typanion@3.14.0)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -12426,9 +12943,9 @@ snapshots: - typescript - verdaccio - '@nrwl/js@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)': + '@nrwl/js@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: - '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -12441,9 +12958,9 @@ snapshots: - typescript - verdaccio - '@nrwl/js@19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)': + '@nrwl/js@19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: - '@nx/js': 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nx/js': 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -12456,9 +12973,9 @@ snapshots: - typescript - verdaccio - '@nrwl/next@19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.17.6)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': + '@nrwl/next@19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.17.6)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': dependencies: - '@nx/next': 19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.17.6)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@nx/next': 19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.17.6)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) transitivePeerDependencies: - '@babel/core' - '@babel/traverse' @@ -12493,9 +13010,9 @@ snapshots: - webpack - webpack-cli - '@nrwl/react@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': + '@nrwl/react@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': dependencies: - '@nx/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@nx/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -12514,9 +13031,9 @@ snapshots: - vue-tsc - webpack - '@nrwl/remix@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': + '@nrwl/remix@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': dependencies: - '@nx/remix': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@nx/remix': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -12553,9 +13070,9 @@ snapshots: - '@swc/core' - debug - '@nrwl/vite@19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(vite@5.4.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))(vitest@2.0.5(@types/node@18.16.9)(@vitest/ui@2.0.5)(jsdom@22.1.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))': + '@nrwl/vite@19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(vite@5.4.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))(vitest@2.0.5(@types/node@18.16.9)(@vitest/ui@2.0.5)(jsdom@22.1.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))': dependencies: - '@nx/vite': 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(vite@5.4.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))(vitest@2.0.5(@types/node@18.16.9)(@vitest/ui@2.0.5)(jsdom@22.1.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5)) + '@nx/vite': 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(vite@5.4.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))(vitest@2.0.5(@types/node@18.16.9)(@vitest/ui@2.0.5)(jsdom@22.1.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -12570,9 +13087,24 @@ snapshots: - vite - vitest - '@nrwl/web@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)': + '@nrwl/web@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': + dependencies: + '@nx/web': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) + transitivePeerDependencies: + - '@babel/traverse' + - '@swc-node/register' + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - debug + - nx + - supports-color + - typescript + - verdaccio + + '@nrwl/web@19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: - '@nx/web': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nx/web': 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -12585,9 +13117,9 @@ snapshots: - typescript - verdaccio - '@nrwl/webpack@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.17.6)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)': + '@nrwl/webpack@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.17.6)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: - '@nx/webpack': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.17.6)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nx/webpack': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.17.6)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) transitivePeerDependencies: - '@babel/traverse' - '@parcel/css' @@ -12672,11 +13204,11 @@ snapshots: tslib: 2.6.3 yargs-parser: 21.1.1 - '@nx/eslint-plugin@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)': + '@nx/eslint-plugin@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: - '@nrwl/eslint-plugin-nx': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nrwl/eslint-plugin-nx': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) - '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.4) '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) @@ -12700,11 +13232,11 @@ snapshots: - typescript - verdaccio - '@nx/eslint@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))': + '@nx/eslint@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(verdaccio@5.32.2(typanion@3.14.0))': dependencies: '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) - '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.4.5) - '@nx/linter': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) + '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.4.5)(verdaccio@5.32.2(typanion@3.14.0)) + '@nx/linter': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(verdaccio@5.32.2(typanion@3.14.0)) eslint: 8.57.0 semver: 7.6.3 tslib: 2.6.3 @@ -12722,13 +13254,13 @@ snapshots: - supports-color - verdaccio - '@nx/jest@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4))(typescript@5.5.4)': + '@nx/jest@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 - '@nrwl/jest': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4))(typescript@5.5.4) + '@nrwl/jest': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) - '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.5.4) chalk: 4.1.2 identity-obj-proxy: 3.0.0 @@ -12754,7 +13286,7 @@ snapshots: - typescript - verdaccio - '@nx/js@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.4.5)': + '@nx/js@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.4.5)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: '@babel/core': 7.25.2 '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2) @@ -12763,7 +13295,7 @@ snapshots: '@babel/preset-env': 7.25.3(@babel/core@7.25.2) '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) '@babel/runtime': 7.25.0 - '@nrwl/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.4.5) + '@nrwl/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.4.5)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) '@nx/workspace': 19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)) babel-plugin-const-enum: 1.2.0(@babel/core@7.25.2) @@ -12785,6 +13317,8 @@ snapshots: ts-node: 10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.4.5) tsconfig-paths: 4.2.0 tslib: 2.6.3 + optionalDependencies: + verdaccio: 5.32.2(typanion@3.14.0) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -12796,7 +13330,7 @@ snapshots: - supports-color - typescript - '@nx/js@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)': + '@nx/js@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: '@babel/core': 7.25.2 '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2) @@ -12805,7 +13339,7 @@ snapshots: '@babel/preset-env': 7.25.3(@babel/core@7.25.2) '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) '@babel/runtime': 7.25.0 - '@nrwl/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nrwl/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) '@nx/workspace': 19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)) babel-plugin-const-enum: 1.2.0(@babel/core@7.25.2) @@ -12827,6 +13361,8 @@ snapshots: ts-node: 10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4) tsconfig-paths: 4.2.0 tslib: 2.6.3 + optionalDependencies: + verdaccio: 5.32.2(typanion@3.14.0) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -12838,7 +13374,7 @@ snapshots: - supports-color - typescript - '@nx/js@19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)': + '@nx/js@19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: '@babel/core': 7.25.2 '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2) @@ -12847,7 +13383,7 @@ snapshots: '@babel/preset-env': 7.25.3(@babel/core@7.25.2) '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) '@babel/runtime': 7.25.0 - '@nrwl/js': 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nrwl/js': 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/devkit': 19.6.0(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) '@nx/workspace': 19.6.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)) babel-plugin-const-enum: 1.2.0(@babel/core@7.25.2) @@ -12869,6 +13405,8 @@ snapshots: ts-node: 10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4) tsconfig-paths: 4.2.0 tslib: 2.6.3 + optionalDependencies: + verdaccio: 5.32.2(typanion@3.14.0) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -12880,9 +13418,9 @@ snapshots: - supports-color - typescript - '@nx/linter@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))': + '@nx/linter@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(verdaccio@5.32.2(typanion@3.14.0))': dependencies: - '@nx/eslint': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) + '@nx/eslint': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(verdaccio@5.32.2(typanion@3.14.0)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -12896,16 +13434,16 @@ snapshots: - supports-color - verdaccio - '@nx/next@19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.17.6)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': + '@nx/next@19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.17.6)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': dependencies: '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2) - '@nrwl/next': 19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.17.6)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@nrwl/next': 19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.17.6)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) - '@nx/eslint': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) - '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) - '@nx/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - '@nx/web': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) - '@nx/webpack': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.17.6)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nx/eslint': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(verdaccio@5.32.2(typanion@3.14.0)) + '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) + '@nx/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@nx/web': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) + '@nx/webpack': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.17.6)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/workspace': 19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.5.4) '@svgr/webpack': 8.1.0(typescript@5.5.4) @@ -13011,11 +13549,11 @@ snapshots: '@nx/nx-win32-x64-msvc@19.6.0': optional: true - '@nx/playwright@19.5.7(@babel/traverse@7.25.3)(@playwright/test@1.46.0)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)': + '@nx/playwright@19.5.7(@babel/traverse@7.25.3)(@playwright/test@1.46.0)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) - '@nx/eslint': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) - '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nx/eslint': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(verdaccio@5.32.2(typanion@3.14.0)) + '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.5.4) minimatch: 9.0.3 tslib: 2.6.3 @@ -13035,14 +13573,14 @@ snapshots: - typescript - verdaccio - '@nx/react@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': + '@nx/react@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': dependencies: '@module-federation/enhanced': 0.2.8(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - '@nrwl/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@nrwl/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) - '@nx/eslint': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) - '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) - '@nx/web': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nx/eslint': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(verdaccio@5.32.2(typanion@3.14.0)) + '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) + '@nx/web': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.5.4) '@svgr/webpack': 8.1.0(typescript@5.5.4) chalk: 4.1.2 @@ -13067,12 +13605,12 @@ snapshots: - vue-tsc - webpack - '@nx/remix@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': + '@nx/remix@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': dependencies: - '@nrwl/remix': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@nrwl/remix': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) - '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) - '@nx/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) + '@nx/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.5.4) tslib: 2.6.3 transitivePeerDependencies: @@ -13093,11 +13631,11 @@ snapshots: - vue-tsc - webpack - '@nx/vite@19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(vite@5.4.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))(vitest@2.0.5(@types/node@18.16.9)(@vitest/ui@2.0.5)(jsdom@22.1.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))': + '@nx/vite@19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(vite@5.4.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))(vitest@2.0.5(@types/node@18.16.9)(@vitest/ui@2.0.5)(jsdom@22.1.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))': dependencies: - '@nrwl/vite': 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(vite@5.4.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))(vitest@2.0.5(@types/node@18.16.9)(@vitest/ui@2.0.5)(jsdom@22.1.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5)) + '@nrwl/vite': 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(vite@5.4.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))(vitest@2.0.5(@types/node@18.16.9)(@vitest/ui@2.0.5)(jsdom@22.1.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5)) '@nx/devkit': 19.6.0(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) - '@nx/js': 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nx/js': 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.5.4) '@swc/helpers': 0.5.12 enquirer: 2.3.6 @@ -13116,11 +13654,11 @@ snapshots: - typescript - verdaccio - '@nx/web@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)': + '@nx/web@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: - '@nrwl/web': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nrwl/web': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) - '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) + '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) chalk: 4.1.2 detect-port: 1.6.1 http-server: 14.1.1 @@ -13137,25 +13675,46 @@ snapshots: - typescript - verdaccio - '@nx/webpack@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.17.6)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)': + '@nx/web@19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: - '@babel/core': 7.25.2 - '@module-federation/enhanced': 0.2.8(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - '@module-federation/sdk': 0.2.8 - '@nrwl/webpack': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.17.6)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) - '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) - '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4) - '@phenomnomnominal/tsquery': 5.0.1(typescript@5.5.4) - ajv: 8.17.1 - autoprefixer: 10.4.13(postcss@8.4.38) - babel-loader: 9.1.3(@babel/core@7.25.2)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - browserslist: 4.23.3 + '@nrwl/web': 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) + '@nx/devkit': 19.6.0(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) + '@nx/js': 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) chalk: 4.1.2 - copy-webpack-plugin: 10.2.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - css-loader: 6.11.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - css-minimizer-webpack-plugin: 5.0.1(esbuild@0.17.6)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - express: 4.19.2 - fork-ts-checker-webpack-plugin: 7.2.13(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + detect-port: 1.6.1 + http-server: 14.1.1 + tslib: 2.6.3 + transitivePeerDependencies: + - '@babel/traverse' + - '@swc-node/register' + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - debug + - nx + - supports-color + - typescript + - verdaccio + + '@nx/webpack@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.17.6)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': + dependencies: + '@babel/core': 7.25.2 + '@module-federation/enhanced': 0.2.8(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@module-federation/sdk': 0.2.8 + '@nrwl/webpack': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.17.6)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) + '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) + '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) + '@phenomnomnominal/tsquery': 5.0.1(typescript@5.5.4) + ajv: 8.17.1 + autoprefixer: 10.4.13(postcss@8.4.38) + babel-loader: 9.1.3(@babel/core@7.25.2)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + browserslist: 4.23.3 + chalk: 4.1.2 + copy-webpack-plugin: 10.2.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + css-loader: 6.11.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + css-minimizer-webpack-plugin: 5.0.1(esbuild@0.17.6)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + express: 4.19.2 + fork-ts-checker-webpack-plugin: 7.2.13(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) http-proxy-middleware: 3.0.0 less: 4.1.3 less-loader: 11.1.0(less@4.1.3)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) @@ -14879,6 +15438,161 @@ snapshots: '@vanilla-extract/private@1.0.5': {} + '@verdaccio/auth@8.0.0-next-8.1': + dependencies: + '@verdaccio/config': 8.0.0-next-8.1 + '@verdaccio/core': 8.0.0-next-8.1 + '@verdaccio/loaders': 8.0.0-next-8.1 + '@verdaccio/logger': 8.0.0-next-8.1 + '@verdaccio/signature': 8.0.0-next-8.0 + '@verdaccio/utils': 7.0.1-next-8.1 + debug: 4.3.7 + lodash: 4.17.21 + verdaccio-htpasswd: 13.0.0-next-8.1 + transitivePeerDependencies: + - supports-color + + '@verdaccio/commons-api@10.2.0': + dependencies: + http-errors: 2.0.0 + http-status-codes: 2.2.0 + + '@verdaccio/config@8.0.0-next-8.1': + dependencies: + '@verdaccio/core': 8.0.0-next-8.1 + '@verdaccio/utils': 7.0.1-next-8.1 + debug: 4.3.7 + js-yaml: 4.1.0 + lodash: 4.17.21 + minimatch: 7.4.6 + transitivePeerDependencies: + - supports-color + + '@verdaccio/core@8.0.0-next-8.1': + dependencies: + ajv: 8.17.1 + core-js: 3.37.1 + http-errors: 2.0.0 + http-status-codes: 2.3.0 + process-warning: 1.0.0 + semver: 7.6.3 + + '@verdaccio/file-locking@10.3.1': + dependencies: + lockfile: 1.0.4 + + '@verdaccio/file-locking@13.0.0-next-8.0': + dependencies: + lockfile: 1.0.4 + + '@verdaccio/loaders@8.0.0-next-8.1': + dependencies: + '@verdaccio/logger': 8.0.0-next-8.1 + debug: 4.3.7 + lodash: 4.17.21 + transitivePeerDependencies: + - supports-color + + '@verdaccio/local-storage-legacy@11.0.2': + dependencies: + '@verdaccio/commons-api': 10.2.0 + '@verdaccio/file-locking': 10.3.1 + '@verdaccio/streams': 10.2.1 + async: 3.2.4 + debug: 4.3.4 + lodash: 4.17.21 + lowdb: 1.0.0 + mkdirp: 1.0.4 + transitivePeerDependencies: + - supports-color + + '@verdaccio/logger-7@8.0.0-next-8.1': + dependencies: + '@verdaccio/logger-commons': 8.0.0-next-8.1 + pino: 7.11.0 + transitivePeerDependencies: + - supports-color + + '@verdaccio/logger-commons@8.0.0-next-8.1': + dependencies: + '@verdaccio/core': 8.0.0-next-8.1 + '@verdaccio/logger-prettify': 8.0.0-next-8.0 + colorette: 2.0.20 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + + '@verdaccio/logger-prettify@8.0.0-next-8.0': + dependencies: + colorette: 2.0.20 + dayjs: 1.11.13 + lodash: 4.17.21 + pino-abstract-transport: 1.1.0 + sonic-boom: 3.8.0 + + '@verdaccio/logger@8.0.0-next-8.1': + dependencies: + '@verdaccio/logger-commons': 8.0.0-next-8.1 + pino: 8.17.2 + transitivePeerDependencies: + - supports-color + + '@verdaccio/middleware@8.0.0-next-8.1': + dependencies: + '@verdaccio/config': 8.0.0-next-8.1 + '@verdaccio/core': 8.0.0-next-8.1 + '@verdaccio/url': 13.0.0-next-8.1 + '@verdaccio/utils': 7.0.1-next-8.1 + debug: 4.3.7 + express: 4.21.0 + express-rate-limit: 5.5.1 + lodash: 4.17.21 + lru-cache: 7.18.3 + mime: 2.6.0 + transitivePeerDependencies: + - supports-color + + '@verdaccio/search-indexer@8.0.0-next-8.0': {} + + '@verdaccio/signature@8.0.0-next-8.0': + dependencies: + debug: 4.3.7 + jsonwebtoken: 9.0.2 + transitivePeerDependencies: + - supports-color + + '@verdaccio/streams@10.2.1': {} + + '@verdaccio/tarball@13.0.0-next-8.1': + dependencies: + '@verdaccio/core': 8.0.0-next-8.1 + '@verdaccio/url': 13.0.0-next-8.1 + '@verdaccio/utils': 7.0.1-next-8.1 + debug: 4.3.7 + gunzip-maybe: 1.4.2 + lodash: 4.17.21 + tar-stream: 3.1.7 + transitivePeerDependencies: + - supports-color + + '@verdaccio/ui-theme@8.0.0-next-8.1': {} + + '@verdaccio/url@13.0.0-next-8.1': + dependencies: + '@verdaccio/core': 8.0.0-next-8.1 + debug: 4.3.7 + lodash: 4.17.21 + validator: 13.12.0 + transitivePeerDependencies: + - supports-color + + '@verdaccio/utils@7.0.1-next-8.1': + dependencies: + '@verdaccio/core': 8.0.0-next-8.1 + lodash: 4.17.21 + minimatch: 7.4.6 + semver: 7.6.3 + '@vitejs/plugin-react-swc@3.7.0(@swc/helpers@0.5.12)(vite@5.4.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))': dependencies: '@swc/core': 1.5.29(@swc/helpers@0.5.12) @@ -15218,6 +15932,8 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 + apache-md5@1.1.8: {} + are-docs-informative@0.0.2: {} arg@4.1.3: {} @@ -15313,6 +16029,12 @@ snapshots: is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 + asn1@0.2.6: + dependencies: + safer-buffer: 2.1.2 + + assert-plus@1.0.0: {} + assertion-error@2.0.1: {} ast-types-flow@0.0.7: {} @@ -15323,12 +16045,16 @@ snapshots: dependencies: lodash: 4.17.21 + async@3.2.4: {} + async@3.2.5: {} asynckit@0.4.0: {} at-least-node@1.0.0: {} + atomic-sleep@1.0.0: {} + autoprefixer@10.4.13(postcss@8.4.38): dependencies: browserslist: 4.23.3 @@ -15343,6 +16069,10 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 + aws-sign2@0.7.0: {} + + aws4@1.13.2: {} + axe-core@4.10.0: {} axios@1.7.3: @@ -15355,6 +16085,8 @@ snapshots: axobject-query@3.2.4: {} + b4a@1.6.6: {} + babel-jest@29.7.0(@babel/core@7.25.2): dependencies: '@babel/core': 7.25.2 @@ -15467,6 +16199,9 @@ snapshots: balanced-match@1.0.2: {} + bare-events@2.4.2: + optional: true + base64-js@1.5.1: {} basic-auth@2.0.1: @@ -15475,6 +16210,12 @@ snapshots: batch@0.6.1: {} + bcrypt-pbkdf@1.0.2: + dependencies: + tweetnacl: 0.14.5 + + bcryptjs@2.4.3: {} + before-after-hook@3.0.2: {} big.js@5.2.2: {} @@ -15506,6 +16247,23 @@ snapshots: transitivePeerDependencies: - supports-color + body-parser@1.20.3: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + bonjour-service@1.2.1: dependencies: fast-deep-equal: 3.1.3 @@ -15549,6 +16307,8 @@ snapshots: btoa@1.2.1: {} + buffer-equal-constant-time@1.0.1: {} + buffer-from@1.1.2: {} buffer@5.7.1: @@ -15556,6 +16316,11 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + builtin-modules@3.3.0: {} busboy@1.6.0: @@ -15615,6 +16380,8 @@ snapshots: caniuse-lite@1.0.30001651: {} + caseless@0.12.0: {} + ccount@2.0.1: {} chai@5.1.1: @@ -15737,6 +16504,10 @@ snapshots: client-only@0.0.1: {} + clipanion@4.0.0-rc.3(typanion@3.14.0): + dependencies: + typanion: 3.14.0 + cliui@7.0.4: dependencies: string-width: 4.2.3 @@ -15954,8 +16725,17 @@ snapshots: dependencies: browserslist: 4.23.3 + core-js@3.37.1: {} + + core-util-is@1.0.2: {} + core-util-is@1.0.3: {} + cors@2.8.5: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + corser@2.0.1: {} cose-base@1.0.3: @@ -16346,6 +17126,10 @@ snapshots: dargs@8.1.0: {} + dashdash@1.14.1: + dependencies: + assert-plus: 1.0.0 + data-uri-to-buffer@3.0.1: {} data-urls@3.0.2: @@ -16382,6 +17166,8 @@ snapshots: dayjs@1.11.12: {} + dayjs@1.11.13: {} + debug@2.6.9: dependencies: ms: 2.0.0 @@ -16394,10 +17180,18 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.3.4: + dependencies: + ms: 2.1.2 + debug@4.3.6: dependencies: ms: 2.1.2 + debug@4.3.7: + dependencies: + ms: 2.1.3 + decimal.js@10.4.3: {} decode-named-character-reference@1.0.2: @@ -16561,8 +17355,24 @@ snapshots: readable-stream: 2.3.8 stream-shift: 1.0.3 + duplexify@4.1.3: + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 3.6.2 + stream-shift: 1.0.3 + eastasianwidth@0.2.0: {} + ecc-jsbn@0.1.2: + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + + ecdsa-sig-formatter@1.0.11: + dependencies: + safe-buffer: 5.2.1 + ee-first@1.1.1: {} ejs@3.1.10: @@ -16587,6 +17397,8 @@ snapshots: encodeurl@1.0.2: {} + encodeurl@2.0.0: {} + end-of-stream@1.4.4: dependencies: once: 1.4.0 @@ -16611,6 +17423,8 @@ snapshots: env-paths@2.2.1: {} + envinfo@7.13.0: {} + environment@1.1.0: {} err-code@2.0.3: {} @@ -17525,6 +18339,8 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 + express-rate-limit@5.5.1: {} + express@4.19.2: dependencies: accepts: 1.3.8 @@ -17561,6 +18377,42 @@ snapshots: transitivePeerDependencies: - supports-color + express@4.21.0: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.6.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.10 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 @@ -17573,10 +18425,14 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.0.33 + extsprintf@1.3.0: {} + fast-deep-equal@3.1.3: {} fast-diff@1.3.0: {} + fast-fifo@1.3.2: {} + fast-glob@3.2.7: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -17597,6 +18453,10 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-redact@3.5.0: {} + + fast-safe-stringify@2.1.1: {} + fast-uri@3.0.1: {} fastq@1.17.1: @@ -17659,6 +18519,18 @@ snapshots: transitivePeerDependencies: - supports-color + finalhandler@1.3.1: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + find-cache-dir@4.0.0: dependencies: common-path-prefix: 3.0.0 @@ -17743,6 +18615,8 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 + forever-agent@0.6.1: {} + fork-ts-checker-webpack-plugin@7.2.13(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): dependencies: '@babel/code-frame': 7.24.7 @@ -17760,6 +18634,12 @@ snapshots: typescript: 5.5.4 webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + form-data@2.3.3: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + form-data@4.0.0: dependencies: asynckit: 0.4.0 @@ -17975,6 +18855,10 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + getpass@0.1.7: + dependencies: + assert-plus: 1.0.0 + git-log-parser@1.2.1: dependencies: argv-formatter: 1.0.0 @@ -18019,6 +18903,14 @@ snapshots: package-json-from-dist: 1.0.0 path-scurry: 1.11.1 + glob@6.0.4: + dependencies: + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -18408,6 +19300,16 @@ snapshots: - debug - supports-color + http-signature@1.3.6: + dependencies: + assert-plus: 1.0.0 + jsprim: 2.0.2 + sshpk: 1.18.0 + + http-status-codes@2.2.0: {} + + http-status-codes@2.3.0: {} + https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 @@ -18698,6 +19600,8 @@ snapshots: is-potential-custom-element-name@1.0.1: {} + is-promise@2.2.2: {} + is-reference@3.0.2: dependencies: '@types/estree': 1.0.5 @@ -18735,6 +19639,8 @@ snapshots: dependencies: which-typed-array: 1.1.15 + is-typedarray@1.0.0: {} + is-unicode-supported@0.1.0: {} is-unicode-supported@2.0.0: {} @@ -18774,6 +19680,8 @@ snapshots: dependencies: ws: 8.17.1 + isstream@0.1.2: {} + issue-parser@7.0.1: dependencies: lodash.capitalize: 4.2.1 @@ -19205,6 +20113,8 @@ snapshots: dependencies: argparse: 2.0.1 + jsbn@0.1.1: {} + jsdoc-type-pratt-parser@4.0.0: {} jsdoc-type-pratt-parser@4.1.0: {} @@ -19290,8 +20200,12 @@ snapshots: json-schema-traverse@1.0.0: {} + json-schema@0.4.0: {} + json-stable-stringify-without-jsonify@1.0.1: {} + json-stringify-safe@5.0.1: {} + json5@1.0.2: dependencies: minimist: 1.2.8 @@ -19319,6 +20233,26 @@ snapshots: jsonparse@1.3.1: {} + jsonwebtoken@9.0.2: + dependencies: + jws: 3.2.2 + lodash.includes: 4.3.0 + lodash.isboolean: 3.0.3 + lodash.isinteger: 4.0.4 + lodash.isnumber: 3.0.3 + lodash.isplainobject: 4.0.6 + lodash.isstring: 4.0.1 + lodash.once: 4.1.1 + ms: 2.1.3 + semver: 7.6.3 + + jsprim@2.0.2: + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.8 @@ -19326,6 +20260,17 @@ snapshots: object.assign: 4.1.5 object.values: 1.2.0 + jwa@1.4.1: + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: 5.2.1 + + jws@3.2.2: + dependencies: + jwa: 1.4.1 + safe-buffer: 5.2.1 + katex@0.16.11: dependencies: commander: 8.3.0 @@ -19505,6 +20450,10 @@ snapshots: dependencies: p-locate: 6.0.0 + lockfile@1.0.4: + dependencies: + signal-exit: 3.0.7 + lodash-es@4.17.21: {} lodash.camelcase@4.3.0: {} @@ -19519,6 +20468,14 @@ snapshots: lodash.escaperegexp@4.1.2: {} + lodash.includes@4.3.0: {} + + lodash.isboolean@3.0.3: {} + + lodash.isinteger@4.0.4: {} + + lodash.isnumber@3.0.3: {} + lodash.isplainobject@4.0.6: {} lodash.isstring@4.0.1: {} @@ -19533,6 +20490,8 @@ snapshots: lodash.mergewith@4.6.2: {} + lodash.once@4.1.1: {} + lodash.snakecase@4.1.1: {} lodash.startcase@4.4.0: {} @@ -19582,6 +20541,14 @@ snapshots: dependencies: get-func-name: 2.0.2 + lowdb@1.0.0: + dependencies: + graceful-fs: 4.2.11 + is-promise: 2.2.2 + lodash: 4.17.21 + pify: 3.0.0 + steno: 0.4.4 + lower-case@2.0.2: dependencies: tslib: 2.6.3 @@ -19960,6 +20927,8 @@ snapshots: merge-descriptors@1.0.1: {} + merge-descriptors@1.0.3: {} + merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -20510,6 +21479,10 @@ snapshots: mime@1.6.0: {} + mime@2.6.0: {} + + mime@3.0.0: {} + mime@4.0.4: {} mimic-fn@2.1.0: {} @@ -20541,6 +21514,10 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimatch@7.4.6: + dependencies: + brace-expansion: 2.0.1 + minimatch@9.0.3: dependencies: brace-expansion: 2.0.1 @@ -20626,6 +21603,12 @@ snapshots: mute-stream@1.0.0: {} + mv@2.1.1: + dependencies: + mkdirp: 0.5.6 + ncp: 2.0.0 + rimraf: 2.4.5 + mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -20638,6 +21621,8 @@ snapshots: natural-compare@1.4.0: {} + ncp@2.0.0: {} + needle@3.3.1: dependencies: iconv-lite: 0.6.3 @@ -20696,6 +21681,10 @@ snapshots: emojilib: 2.4.0 skin-tone: 2.0.0 + node-fetch@2.6.7: + dependencies: + whatwg-url: 5.0.0 + node-forge@1.3.1: {} node-int64@0.4.0: {} @@ -20937,6 +21926,10 @@ snapshots: obuf@1.1.2: {} + on-exit-leak-free@0.2.0: {} + + on-exit-leak-free@2.1.2: {} + on-finished@2.3.0: dependencies: ee-first: 1.1.1 @@ -21162,6 +22155,8 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 + path-to-regexp@0.1.10: {} + path-to-regexp@0.1.7: {} path-type@4.0.0: {} @@ -21178,6 +22173,8 @@ snapshots: duplexify: 3.7.1 through2: 2.0.5 + performance-now@2.1.0: {} + periscopic@3.1.0: dependencies: '@types/estree': 1.0.5 @@ -21199,6 +22196,48 @@ snapshots: pify@4.0.1: optional: true + pino-abstract-transport@0.5.0: + dependencies: + duplexify: 4.1.3 + split2: 4.2.0 + + pino-abstract-transport@1.1.0: + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + + pino-std-serializers@4.0.0: {} + + pino-std-serializers@6.2.2: {} + + pino@7.11.0: + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.5.0 + on-exit-leak-free: 0.2.0 + pino-abstract-transport: 0.5.0 + pino-std-serializers: 4.0.0 + process-warning: 1.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.1.0 + safe-stable-stringify: 2.5.0 + sonic-boom: 2.8.0 + thread-stream: 0.15.2 + + pino@8.17.2: + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.5.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.5.0 + sonic-boom: 3.8.1 + thread-stream: 2.7.0 + pirates@4.0.6: {} pkg-conf@2.1.0: @@ -21220,6 +22259,8 @@ snapshots: mlly: 1.7.1 pathe: 1.1.2 + pkginfo@0.4.1: {} + playwright-core@1.46.0: {} playwright@1.46.0: @@ -21528,6 +22569,12 @@ snapshots: process-nextick-args@2.0.1: {} + process-warning@1.0.0: {} + + process-warning@3.0.0: {} + + process@0.11.10: {} + promise-inflight@1.0.1: {} promise-retry@2.0.1: @@ -21582,6 +22629,10 @@ snapshots: pure-rand@6.1.0: {} + qs@6.10.4: + dependencies: + side-channel: 1.0.6 + qs@6.11.0: dependencies: side-channel: 1.0.6 @@ -21594,10 +22645,14 @@ snapshots: queue-microtask@1.2.3: {} + queue-tick@1.0.1: {} + queue@6.0.2: dependencies: inherits: 2.0.4 + quick-format-unescaped@4.0.4: {} + rambda@9.2.1: {} randombytes@2.1.0: @@ -21752,10 +22807,22 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 + readable-stream@4.5.2: + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + readdirp@3.6.0: dependencies: picomatch: 2.3.1 + real-require@0.1.0: {} + + real-require@0.2.0: {} + redent@3.0.0: dependencies: indent-string: 4.0.0 @@ -21998,6 +23065,10 @@ snapshots: rfdc@1.4.1: {} + rimraf@2.4.5: + dependencies: + glob: 6.0.4 + rimraf@3.0.2: dependencies: glob: 7.2.3 @@ -22063,6 +23134,8 @@ snapshots: es-errors: 1.3.0 is-regex: 1.1.4 + safe-stable-stringify@2.5.0: {} + safer-buffer@2.1.2: {} sass-loader@12.6.0(sass@1.77.8)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): @@ -22194,6 +23267,24 @@ snapshots: transitivePeerDependencies: - supports-color + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 @@ -22219,6 +23310,15 @@ snapshots: transitivePeerDependencies: - supports-color + serve-static@1.16.2: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + set-cookie-parser@2.7.0: {} set-function-length@1.2.2: @@ -22320,6 +23420,18 @@ snapshots: uuid: 8.3.2 websocket-driver: 0.7.4 + sonic-boom@2.8.0: + dependencies: + atomic-sleep: 1.0.0 + + sonic-boom@3.8.0: + dependencies: + atomic-sleep: 1.0.0 + + sonic-boom@3.8.1: + dependencies: + atomic-sleep: 1.0.0 + sorted-array-functions@1.3.0: {} source-map-js@1.2.0: {} @@ -22401,6 +23513,18 @@ snapshots: sprintf-js@1.0.3: {} + sshpk@1.18.0: + dependencies: + asn1: 0.2.6 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + ssri@10.0.6: dependencies: minipass: 7.1.2 @@ -22419,6 +23543,10 @@ snapshots: std-env@3.7.0: {} + steno@0.4.4: + dependencies: + graceful-fs: 4.2.11 + stream-combiner2@1.1.1: dependencies: duplexer2: 0.1.4 @@ -22438,6 +23566,14 @@ snapshots: streamsearch@1.1.0: {} + streamx@2.20.1: + dependencies: + fast-fifo: 1.3.2 + queue-tick: 1.0.1 + text-decoder: 1.2.0 + optionalDependencies: + bare-events: 2.4.2 + string-argv@0.3.2: {} string-hash@1.1.3: {} @@ -22706,6 +23842,12 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 + tar-stream@3.1.7: + dependencies: + b4a: 1.6.6 + fast-fifo: 1.3.2 + streamx: 2.20.1 + tar@6.2.1: dependencies: chownr: 2.0.0 @@ -22755,6 +23897,10 @@ snapshots: glob: 10.4.5 minimatch: 9.0.5 + text-decoder@1.2.0: + dependencies: + b4a: 1.6.6 + text-extensions@2.4.0: {} text-table@0.2.0: {} @@ -22767,6 +23913,14 @@ snapshots: dependencies: any-promise: 1.3.0 + thread-stream@0.15.2: + dependencies: + real-require: 0.1.0 + + thread-stream@2.7.0: + dependencies: + real-require: 0.2.0 + through2@2.0.5: dependencies: readable-stream: 2.3.8 @@ -22821,6 +23975,8 @@ snapshots: universalify: 0.2.0 url-parse: 1.5.10 + tr46@0.0.3: {} + tr46@3.0.0: dependencies: punycode: 2.3.1 @@ -22943,8 +24099,16 @@ snapshots: tsscmp@1.0.6: {} + tunnel-agent@0.6.0: + dependencies: + safe-buffer: 5.2.1 + turbo-stream@2.3.0: {} + tweetnacl@0.14.5: {} + + typanion@3.14.0: {} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -23156,6 +24320,8 @@ snapshots: universalify@2.0.1: {} + unix-crypt-td-js@1.1.4: {} + unpipe@1.0.0: {} upath@2.0.1: {} @@ -23236,8 +24402,85 @@ snapshots: validate-npm-package-name@5.0.1: {} + validator@13.12.0: {} + vary@1.1.2: {} + verdaccio-audit@13.0.0-next-8.1: + dependencies: + '@verdaccio/config': 8.0.0-next-8.1 + '@verdaccio/core': 8.0.0-next-8.1 + express: 4.21.0 + https-proxy-agent: 5.0.1 + node-fetch: 2.6.7 + transitivePeerDependencies: + - encoding + - supports-color + + verdaccio-htpasswd@13.0.0-next-8.1: + dependencies: + '@verdaccio/core': 8.0.0-next-8.1 + '@verdaccio/file-locking': 13.0.0-next-8.0 + apache-md5: 1.1.8 + bcryptjs: 2.4.3 + core-js: 3.37.1 + debug: 4.3.7 + http-errors: 2.0.0 + unix-crypt-td-js: 1.1.4 + transitivePeerDependencies: + - supports-color + + verdaccio@5.32.2(typanion@3.14.0): + dependencies: + '@cypress/request': 3.0.1 + '@verdaccio/auth': 8.0.0-next-8.1 + '@verdaccio/config': 8.0.0-next-8.1 + '@verdaccio/core': 8.0.0-next-8.1 + '@verdaccio/local-storage-legacy': 11.0.2 + '@verdaccio/logger-7': 8.0.0-next-8.1 + '@verdaccio/middleware': 8.0.0-next-8.1 + '@verdaccio/search-indexer': 8.0.0-next-8.0 + '@verdaccio/signature': 8.0.0-next-8.0 + '@verdaccio/streams': 10.2.1 + '@verdaccio/tarball': 13.0.0-next-8.1 + '@verdaccio/ui-theme': 8.0.0-next-8.1 + '@verdaccio/url': 13.0.0-next-8.1 + '@verdaccio/utils': 7.0.1-next-8.1 + JSONStream: 1.3.5 + async: 3.2.5 + clipanion: 4.0.0-rc.3(typanion@3.14.0) + compression: 1.7.4 + cors: 2.8.5 + debug: 4.3.6 + envinfo: 7.13.0 + express: 4.21.0 + express-rate-limit: 5.5.1 + fast-safe-stringify: 2.1.1 + handlebars: 4.7.8 + js-yaml: 4.1.0 + jsonwebtoken: 9.0.2 + kleur: 4.1.5 + lodash: 4.17.21 + lru-cache: 7.18.3 + mime: 3.0.0 + mkdirp: 1.0.4 + mv: 2.1.1 + pkginfo: 0.4.1 + semver: 7.6.3 + validator: 13.12.0 + verdaccio-audit: 13.0.0-next-8.1 + verdaccio-htpasswd: 13.0.0-next-8.1 + transitivePeerDependencies: + - encoding + - supports-color + - typanion + + verror@1.10.0: + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + vfile-location@5.0.3: dependencies: '@types/unist': 3.0.2 @@ -23396,6 +24639,8 @@ snapshots: web-worker@1.3.0: {} + webidl-conversions@3.0.1: {} + webidl-conversions@7.0.0: {} webpack-dev-middleware@5.3.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): @@ -23517,6 +24762,11 @@ snapshots: tr46: 4.1.1 webidl-conversions: 7.0.0 + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 diff --git a/project.json b/project.json new file mode 100644 index 000000000..dd66298eb --- /dev/null +++ b/project.json @@ -0,0 +1,14 @@ +{ + "name": "@cuhacking/source", + "$schema": "node_modules/nx/schemas/project-schema.json", + "targets": { + "local-registry": { + "executor": "@nx/js:verdaccio", + "options": { + "port": 4873, + "config": ".verdaccio/config.yml", + "storage": "tmp/local-registry/storage" + } + } + } +} diff --git a/tsconfig.base.json b/tsconfig.base.json index 75bb33479..7a5ef15e5 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -2,17 +2,16 @@ "compileOnSave": false, "compilerOptions": { "target": "ES2015", - "lib": [ - "ESNext", - "DOM", - "DOM.Iterable" - ], + "lib": ["ESNext", "DOM", "DOM.Iterable"], "emitDecoratorMetadata": true, "experimentalDecorators": true, "baseUrl": ".", "rootDir": ".", "module": "ESNext", "moduleResolution": "Node", + "paths": { + "@cuhacking/env": ["libs/env/src/index.ts"] + }, "resolveJsonModule": true, "strict": true, "declaration": false, @@ -23,8 +22,5 @@ "skipDefaultLibCheck": true, "skipLibCheck": true }, - "exclude": [ - "node_modules", - "tmp" - ] + "exclude": ["node_modules", "tmp"] } From c23c0ecd4657ab9fcf76d517596e648c687a9fdd Mon Sep 17 00:00:00 2001 From: jowi Date: Sat, 14 Sep 2024 13:12:24 -0400 Subject: [PATCH 02/50] chore(api/db): generate db library pnpm exec nx generate @nx/js:library --name=db --directory=libs/db --importPath=@cuhacking/db --publishable=true --projectNameAndRootFormat=as-provided --unitTestRunner=vitest --no-interactive build(api/db): change package type to module --- libs/db/README.md | 11 ++++++++++ libs/db/eslint.config.js | 42 ++++++++++++++++++++++++++++++++++++++ libs/db/package.json | 10 +++++++++ libs/db/project.json | 32 +++++++++++++++++++++++++++++ libs/db/src/index.ts | 1 + libs/db/src/lib/db.spec.ts | 7 +++++++ libs/db/src/lib/db.ts | 3 +++ libs/db/tsconfig.json | 22 ++++++++++++++++++++ libs/db/tsconfig.lib.json | 10 +++++++++ libs/db/tsconfig.spec.json | 26 +++++++++++++++++++++++ libs/db/vite.config.ts | 24 ++++++++++++++++++++++ tsconfig.base.json | 1 + 12 files changed, 189 insertions(+) create mode 100644 libs/db/README.md create mode 100644 libs/db/eslint.config.js create mode 100644 libs/db/package.json create mode 100644 libs/db/project.json create mode 100644 libs/db/src/index.ts create mode 100644 libs/db/src/lib/db.spec.ts create mode 100644 libs/db/src/lib/db.ts create mode 100644 libs/db/tsconfig.json create mode 100644 libs/db/tsconfig.lib.json create mode 100644 libs/db/tsconfig.spec.json create mode 100644 libs/db/vite.config.ts diff --git a/libs/db/README.md b/libs/db/README.md new file mode 100644 index 000000000..b0658a2c6 --- /dev/null +++ b/libs/db/README.md @@ -0,0 +1,11 @@ +# db + +This library was generated with [Nx](https://nx.dev). + +## Building + +Run `nx build db` to build the library. + +## Running unit tests + +Run `nx test db` to execute the unit tests via [Vitest](https://vitest.dev/). diff --git a/libs/db/eslint.config.js b/libs/db/eslint.config.js new file mode 100644 index 000000000..8f105660e --- /dev/null +++ b/libs/db/eslint.config.js @@ -0,0 +1,42 @@ +// TODO: merge with antfu eslint config +// const { FlatCompat } = require('@eslint/eslintrc'); +// const baseConfigPromise = require('../../eslint.config.js') +import baseConfigPromise from '../../eslint.config.js' +// const js = require('@eslint/js'); + +export default (async () => { + const baseConfig = await baseConfigPromise + + return [ + ...baseConfig, + + // The following configurations are commented out + // ...compat.extends( + // 'plugin:@nx/react-typescript', + // 'next', + // 'next/core-web-vitals' + // ), + // { + // files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'], + // rules: { + // '@next/next/no-html-link-for-pages': ['error', 'apps/portal/pages'], + // }, + // }, + // { + // files: ['**/*.ts', '**/*.tsx'], + // rules: {}, + // }, + // { + // files: ['**/*.js', '**/*.jsx'], + // rules: {}, + // }, + // ...compat.config({ env: { jest: true } }).map((config) => ({ + // ...config, + // files: ['**/*.spec.ts', '**/*.spec.tsx', '**/*.spec.js', '**/*.spec.jsx'], + // rules: { + // ...config.rules, + // }, + // })), + // { ignores: ['.next/**/*'] }, + ] +})() diff --git a/libs/db/package.json b/libs/db/package.json new file mode 100644 index 000000000..d6c5928aa --- /dev/null +++ b/libs/db/package.json @@ -0,0 +1,10 @@ +{ + "name": "@cuhacking/db", + "type": "module", + "version": "0.0.1", + "main": "./src/index.js", + "dependencies": { + "tslib": "^2.3.0" + }, + "typings": "./src/index.d.ts" +} diff --git a/libs/db/project.json b/libs/db/project.json new file mode 100644 index 000000000..0c6bb3ca6 --- /dev/null +++ b/libs/db/project.json @@ -0,0 +1,32 @@ +{ + "name": "db", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "libs/db/src", + "projectType": "library", + "release": { + "version": { + "generatorOptions": { + "packageRoot": "dist/{projectRoot}", + "currentVersionResolver": "git-tag" + } + } + }, + "tags": [], + "targets": { + "build": { + "executor": "@nx/js:tsc", + "outputs": ["{options.outputPath}"], + "options": { + "outputPath": "dist/libs/db", + "main": "libs/db/src/index.ts", + "tsConfig": "libs/db/tsconfig.lib.json", + "assets": ["libs/db/*.md"] + } + }, + "nx-release-publish": { + "options": { + "packageRoot": "dist/{projectRoot}" + } + } + } +} diff --git a/libs/db/src/index.ts b/libs/db/src/index.ts new file mode 100644 index 000000000..ff5b0b1f7 --- /dev/null +++ b/libs/db/src/index.ts @@ -0,0 +1 @@ +export * from './lib/db' diff --git a/libs/db/src/lib/db.spec.ts b/libs/db/src/lib/db.spec.ts new file mode 100644 index 000000000..b93b3da4d --- /dev/null +++ b/libs/db/src/lib/db.spec.ts @@ -0,0 +1,7 @@ +import { db } from './db' + +describe('db', () => { + it('should work', () => { + expect(db()).toEqual('db') + }) +}) diff --git a/libs/db/src/lib/db.ts b/libs/db/src/lib/db.ts new file mode 100644 index 000000000..1d0098b1c --- /dev/null +++ b/libs/db/src/lib/db.ts @@ -0,0 +1,3 @@ +export function db(): string { + return 'db' +} diff --git a/libs/db/tsconfig.json b/libs/db/tsconfig.json new file mode 100644 index 000000000..f61ea1970 --- /dev/null +++ b/libs/db/tsconfig.json @@ -0,0 +1,22 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "commonjs", + "strict": true, + "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noPropertyAccessFromIndexSignature": true, + "forceConsistentCasingInFileNames": true + }, + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } + ], + "files": [], + "include": [] +} diff --git a/libs/db/tsconfig.lib.json b/libs/db/tsconfig.lib.json new file mode 100644 index 000000000..bcf4ea7e2 --- /dev/null +++ b/libs/db/tsconfig.lib.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "types": ["node"], + "declaration": true, + "outDir": "../../dist/out-tsc" + }, + "include": ["src/**/*.ts"], + "exclude": ["vite.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] +} diff --git a/libs/db/tsconfig.spec.json b/libs/db/tsconfig.spec.json new file mode 100644 index 000000000..983ad91ec --- /dev/null +++ b/libs/db/tsconfig.spec.json @@ -0,0 +1,26 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "types": [ + "vitest/globals", + "vitest/importMeta", + "vite/client", + "node", + "vitest" + ], + "outDir": "../../dist/out-tsc" + }, + "include": [ + "vite.config.ts", + "vitest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" + ] +} diff --git a/libs/db/vite.config.ts b/libs/db/vite.config.ts new file mode 100644 index 000000000..636aaf180 --- /dev/null +++ b/libs/db/vite.config.ts @@ -0,0 +1,24 @@ +import { defineConfig } from 'vite' + +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin' + +export default defineConfig({ + root: __dirname, + cacheDir: '../../node_modules/.vite/libs/db', + + plugins: [nxViteTsPaths()], + + // Uncomment this if you are using workers. + // worker: { + // plugins: [ nxViteTsPaths() ], + // }, + + test: { + watch: false, + globals: true, + environment: 'node', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + reporters: ['default'], + coverage: { reportsDirectory: '../../coverage/libs/db', provider: 'v8' }, + }, +}) diff --git a/tsconfig.base.json b/tsconfig.base.json index 7a5ef15e5..067556c13 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -10,6 +10,7 @@ "module": "ESNext", "moduleResolution": "Node", "paths": { + "@cuhacking/db": ["libs/db/src/index.ts"], "@cuhacking/env": ["libs/env/src/index.ts"] }, "resolveJsonModule": true, From f336dde080479710ec13d1ea53a9c30c313850a9 Mon Sep 17 00:00:00 2001 From: jowi Date: Sat, 14 Sep 2024 13:18:30 -0400 Subject: [PATCH 03/50] chore(api/api): generate api library pnpm exec nx generate @nx/js:library --name=api --directory=libs/api --importPath=@cuhacking/api --publishable=true --projectNameAndRootFormat=as-provided --unitTestRunner=vitest --no-interactive build(api/api): change package type to module --- libs/api/README.md | 11 ++++++++++ libs/api/eslint.config.js | 42 ++++++++++++++++++++++++++++++++++++ libs/api/package.json | 10 +++++++++ libs/api/project.json | 32 +++++++++++++++++++++++++++ libs/api/src/index.ts | 1 + libs/api/src/lib/api.spec.ts | 7 ++++++ libs/api/src/lib/api.ts | 3 +++ libs/api/tsconfig.json | 22 +++++++++++++++++++ libs/api/tsconfig.lib.json | 10 +++++++++ libs/api/tsconfig.spec.json | 26 ++++++++++++++++++++++ libs/api/vite.config.ts | 24 +++++++++++++++++++++ tsconfig.base.json | 1 + 12 files changed, 189 insertions(+) create mode 100644 libs/api/README.md create mode 100644 libs/api/eslint.config.js create mode 100644 libs/api/package.json create mode 100644 libs/api/project.json create mode 100644 libs/api/src/index.ts create mode 100644 libs/api/src/lib/api.spec.ts create mode 100644 libs/api/src/lib/api.ts create mode 100644 libs/api/tsconfig.json create mode 100644 libs/api/tsconfig.lib.json create mode 100644 libs/api/tsconfig.spec.json create mode 100644 libs/api/vite.config.ts diff --git a/libs/api/README.md b/libs/api/README.md new file mode 100644 index 000000000..87b8c4db8 --- /dev/null +++ b/libs/api/README.md @@ -0,0 +1,11 @@ +# api + +This library was generated with [Nx](https://nx.dev). + +## Building + +Run `nx build api` to build the library. + +## Running unit tests + +Run `nx test api` to execute the unit tests via [Vitest](https://vitest.dev/). diff --git a/libs/api/eslint.config.js b/libs/api/eslint.config.js new file mode 100644 index 000000000..8f105660e --- /dev/null +++ b/libs/api/eslint.config.js @@ -0,0 +1,42 @@ +// TODO: merge with antfu eslint config +// const { FlatCompat } = require('@eslint/eslintrc'); +// const baseConfigPromise = require('../../eslint.config.js') +import baseConfigPromise from '../../eslint.config.js' +// const js = require('@eslint/js'); + +export default (async () => { + const baseConfig = await baseConfigPromise + + return [ + ...baseConfig, + + // The following configurations are commented out + // ...compat.extends( + // 'plugin:@nx/react-typescript', + // 'next', + // 'next/core-web-vitals' + // ), + // { + // files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'], + // rules: { + // '@next/next/no-html-link-for-pages': ['error', 'apps/portal/pages'], + // }, + // }, + // { + // files: ['**/*.ts', '**/*.tsx'], + // rules: {}, + // }, + // { + // files: ['**/*.js', '**/*.jsx'], + // rules: {}, + // }, + // ...compat.config({ env: { jest: true } }).map((config) => ({ + // ...config, + // files: ['**/*.spec.ts', '**/*.spec.tsx', '**/*.spec.js', '**/*.spec.jsx'], + // rules: { + // ...config.rules, + // }, + // })), + // { ignores: ['.next/**/*'] }, + ] +})() diff --git a/libs/api/package.json b/libs/api/package.json new file mode 100644 index 000000000..c2eccf6b0 --- /dev/null +++ b/libs/api/package.json @@ -0,0 +1,10 @@ +{ + "name": "@cuhacking/api", + "type": "module", + "version": "0.0.1", + "main": "./src/index.js", + "dependencies": { + "tslib": "^2.3.0" + }, + "typings": "./src/index.d.ts" +} diff --git a/libs/api/project.json b/libs/api/project.json new file mode 100644 index 000000000..f29cd496f --- /dev/null +++ b/libs/api/project.json @@ -0,0 +1,32 @@ +{ + "name": "api", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "libs/api/src", + "projectType": "library", + "release": { + "version": { + "generatorOptions": { + "packageRoot": "dist/{projectRoot}", + "currentVersionResolver": "git-tag" + } + } + }, + "tags": [], + "targets": { + "build": { + "executor": "@nx/js:tsc", + "outputs": ["{options.outputPath}"], + "options": { + "outputPath": "dist/libs/api", + "main": "libs/api/src/index.ts", + "tsConfig": "libs/api/tsconfig.lib.json", + "assets": ["libs/api/*.md"] + } + }, + "nx-release-publish": { + "options": { + "packageRoot": "dist/{projectRoot}" + } + } + } +} diff --git a/libs/api/src/index.ts b/libs/api/src/index.ts new file mode 100644 index 000000000..1196e46c3 --- /dev/null +++ b/libs/api/src/index.ts @@ -0,0 +1 @@ +export * from './lib/api' diff --git a/libs/api/src/lib/api.spec.ts b/libs/api/src/lib/api.spec.ts new file mode 100644 index 000000000..fee0ac272 --- /dev/null +++ b/libs/api/src/lib/api.spec.ts @@ -0,0 +1,7 @@ +import { api } from './api' + +describe('api', () => { + it('should work', () => { + expect(api()).toEqual('api') + }) +}) diff --git a/libs/api/src/lib/api.ts b/libs/api/src/lib/api.ts new file mode 100644 index 000000000..b1bb43b13 --- /dev/null +++ b/libs/api/src/lib/api.ts @@ -0,0 +1,3 @@ +export function api(): string { + return 'api' +} diff --git a/libs/api/tsconfig.json b/libs/api/tsconfig.json new file mode 100644 index 000000000..f61ea1970 --- /dev/null +++ b/libs/api/tsconfig.json @@ -0,0 +1,22 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "commonjs", + "strict": true, + "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noPropertyAccessFromIndexSignature": true, + "forceConsistentCasingInFileNames": true + }, + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } + ], + "files": [], + "include": [] +} diff --git a/libs/api/tsconfig.lib.json b/libs/api/tsconfig.lib.json new file mode 100644 index 000000000..bcf4ea7e2 --- /dev/null +++ b/libs/api/tsconfig.lib.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "types": ["node"], + "declaration": true, + "outDir": "../../dist/out-tsc" + }, + "include": ["src/**/*.ts"], + "exclude": ["vite.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] +} diff --git a/libs/api/tsconfig.spec.json b/libs/api/tsconfig.spec.json new file mode 100644 index 000000000..983ad91ec --- /dev/null +++ b/libs/api/tsconfig.spec.json @@ -0,0 +1,26 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "types": [ + "vitest/globals", + "vitest/importMeta", + "vite/client", + "node", + "vitest" + ], + "outDir": "../../dist/out-tsc" + }, + "include": [ + "vite.config.ts", + "vitest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" + ] +} diff --git a/libs/api/vite.config.ts b/libs/api/vite.config.ts new file mode 100644 index 000000000..763c8b045 --- /dev/null +++ b/libs/api/vite.config.ts @@ -0,0 +1,24 @@ +import { defineConfig } from 'vite' + +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin' + +export default defineConfig({ + root: __dirname, + cacheDir: '../../node_modules/.vite/libs/api', + + plugins: [nxViteTsPaths()], + + // Uncomment this if you are using workers. + // worker: { + // plugins: [ nxViteTsPaths() ], + // }, + + test: { + watch: false, + globals: true, + environment: 'node', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + reporters: ['default'], + coverage: { reportsDirectory: '../../coverage/libs/api', provider: 'v8' }, + }, +}) diff --git a/tsconfig.base.json b/tsconfig.base.json index 067556c13..9bed9a8a2 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -10,6 +10,7 @@ "module": "ESNext", "moduleResolution": "Node", "paths": { + "@cuhacking/api": ["libs/api/src/index.ts"], "@cuhacking/db": ["libs/db/src/index.ts"], "@cuhacking/env": ["libs/env/src/index.ts"] }, From d9a2cc110d17c84108cf2aaa058388f2c6235fb5 Mon Sep 17 00:00:00 2001 From: jowi Date: Sat, 14 Sep 2024 14:41:11 -0400 Subject: [PATCH 04/50] chore(deps): add t3-oss/env-nextjs and zod --- package.json | 4 +++- pnpm-lock.yaml | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index cb25c77a9..6853261ca 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "@remix-run/node": "^2.8.1", "@remix-run/react": "^2.8.1", "@remix-run/serve": "^2.8.1", + "@t3-oss/env-nextjs": "^0.11.1", "fumadocs-core": "^13.0.4", "fumadocs-docgen": "^1.1.0", "fumadocs-mdx": "^9.0.0", @@ -31,7 +32,8 @@ "react": "18.3.1", "react-dom": "18.3.1", "tailwind": "link:@nx/react/tailwind", - "tslib": "^2.3.0" + "tslib": "^2.3.0", + "zod": "^3.23.8" }, "devDependencies": { "@antfu/eslint-config": "^2.25.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index abd243ffd..54cedbac1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,6 +17,9 @@ importers: '@remix-run/serve': specifier: ^2.8.1 version: 2.11.2(typescript@5.5.4) + '@t3-oss/env-nextjs': + specifier: ^0.11.1 + version: 0.11.1(typescript@5.5.4)(zod@3.23.8) fumadocs-core: specifier: ^13.0.4 version: 13.2.2(@types/react@18.3.1)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -47,6 +50,9 @@ importers: tslib: specifier: ^2.3.0 version: 2.6.3 + zod: + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@antfu/eslint-config': specifier: ^2.25.1 @@ -3018,6 +3024,24 @@ packages: '@swc/types@0.1.12': resolution: {integrity: sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==} + '@t3-oss/env-core@0.11.1': + resolution: {integrity: sha512-MaxOwEoG1ntCFoKJsS7nqwgcxLW1SJw238AJwfJeaz3P/8GtkxXZsPPolsz1AdYvUTbe3XvqZ/VCdfjt+3zmKw==} + peerDependencies: + typescript: '>=5.0.0' + zod: ^3.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@t3-oss/env-nextjs@0.11.1': + resolution: {integrity: sha512-rx2XL9+v6wtOqLNJbD5eD8OezKlQD1BtC0WvvtHwBgK66jnF5+wGqtgkKK4Ygie1LVmoDClths2T4tdFmRvGrQ==} + peerDependencies: + typescript: '>=5.0.0' + zod: ^3.0.0 + peerDependenciesMeta: + typescript: + optional: true + '@tailwindcss/typography@0.5.14': resolution: {integrity: sha512-ZvOCjUbsJBjL9CxQBn+VEnFpouzuKhxh2dH8xMIWHILL+HfOYtlAkWcyoon8LlzE53d2Yo6YO6pahKKNW3q1YQ==} peerDependencies: @@ -14895,6 +14919,19 @@ snapshots: dependencies: '@swc/counter': 0.1.3 + '@t3-oss/env-core@0.11.1(typescript@5.5.4)(zod@3.23.8)': + dependencies: + zod: 3.23.8 + optionalDependencies: + typescript: 5.5.4 + + '@t3-oss/env-nextjs@0.11.1(typescript@5.5.4)(zod@3.23.8)': + dependencies: + '@t3-oss/env-core': 0.11.1(typescript@5.5.4)(zod@3.23.8) + zod: 3.23.8 + optionalDependencies: + typescript: 5.5.4 + '@tailwindcss/typography@0.5.14(tailwindcss@3.4.3(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4)))': dependencies: lodash.castarray: 4.4.0 From dff14a5954e109f14c5d39b4a49c93d49fead153 Mon Sep 17 00:00:00 2001 From: jowi Date: Sat, 14 Sep 2024 16:44:34 -0400 Subject: [PATCH 05/50] feat(api/env): add relevant env vars --- libs/env/src/shared.ts | 12 ++++++++++++ libs/env/src/website/db.ts | 15 +++++++++++++++ libs/env/src/website/server.ts | 24 ++++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 libs/env/src/shared.ts create mode 100644 libs/env/src/website/db.ts create mode 100644 libs/env/src/website/server.ts diff --git a/libs/env/src/shared.ts b/libs/env/src/shared.ts new file mode 100644 index 000000000..22b3344f8 --- /dev/null +++ b/libs/env/src/shared.ts @@ -0,0 +1,12 @@ +import process from 'node:process' +import { createEnv } from '@t3-oss/env-nextjs' +import { z } from 'zod' + +export const sharedEnv = createEnv({ + shared: { + NODE_ENV: z.enum(['development', 'test', 'production']).optional(), + }, + runtimeEnv: { + NODE_ENV: process.env.NODE_ENV, + }, +}) diff --git a/libs/env/src/website/db.ts b/libs/env/src/website/db.ts new file mode 100644 index 000000000..e0c670a8e --- /dev/null +++ b/libs/env/src/website/db.ts @@ -0,0 +1,15 @@ +import process from 'node:process' +import { createEnv } from '@t3-oss/env-nextjs' +import { z } from 'zod' + +import { sharedEnv } from '../shared' + +export const env = createEnv({ + extends: [sharedEnv], + server: { + DATABASE_URL: z.string().url().startsWith('postgres'), + }, + experimental__runtimeEnv: {}, + emptyStringAsUndefined: true, + skipValidation: !!process.env.SKIP_ENV_VALIDATION, +}) diff --git a/libs/env/src/website/server.ts b/libs/env/src/website/server.ts new file mode 100644 index 000000000..8cc75b6c8 --- /dev/null +++ b/libs/env/src/website/server.ts @@ -0,0 +1,24 @@ +import process from 'node:process' +import { createEnv } from '@t3-oss/env-nextjs' +import { z } from 'zod' + +import { sharedEnv } from '../shared' +import { env as dbEnv } from './db' + +export const env = createEnv({ + extends: [sharedEnv, dbEnv], + shared: { + PORT: z.coerce.number().default(3000), + }, + server: { + AUTH_SECRET: z.string(), + + AUTH_GOOGLE_ID: z.string().optional(), + AUTH_GOOGLE_SECRET: z.string().optional(), + }, + experimental__runtimeEnv: { + PORT: process.env.PORT, + }, + emptyStringAsUndefined: true, + // skipValidation: !!process.env.['SKIP_ENV_VALIDATION'], +}) From f5680423b5388e062047af36dded380e80190197 Mon Sep 17 00:00:00 2001 From: jowi Date: Sat, 14 Sep 2024 16:46:42 -0400 Subject: [PATCH 06/50] chore(api/env/lint): allow dot-notation for env vars --- libs/env/eslint.config.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libs/env/eslint.config.js b/libs/env/eslint.config.js index 8f105660e..6415611b5 100644 --- a/libs/env/eslint.config.js +++ b/libs/env/eslint.config.js @@ -9,6 +9,12 @@ export default (async () => { return [ ...baseConfig, + { + rules: { + // Disable dot-notation rule + 'dot-notation': 'off', + }, + }, // The following configurations are commented out // ...compat.extends( From ba3cf1573032363b848dd07fc9068d4cfe2e5704 Mon Sep 17 00:00:00 2001 From: jowi Date: Sun, 15 Sep 2024 16:43:05 -0400 Subject: [PATCH 07/50] refactor(api/env): use brackets instead of dot notation for env vars --- libs/env/src/website/db.ts | 2 +- libs/env/src/website/server.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libs/env/src/website/db.ts b/libs/env/src/website/db.ts index e0c670a8e..ec1f4f134 100644 --- a/libs/env/src/website/db.ts +++ b/libs/env/src/website/db.ts @@ -4,7 +4,7 @@ import { z } from 'zod' import { sharedEnv } from '../shared' -export const env = createEnv({ +export const envWebsiteDb = createEnv({ extends: [sharedEnv], server: { DATABASE_URL: z.string().url().startsWith('postgres'), diff --git a/libs/env/src/website/server.ts b/libs/env/src/website/server.ts index 8cc75b6c8..249008fc8 100644 --- a/libs/env/src/website/server.ts +++ b/libs/env/src/website/server.ts @@ -3,10 +3,10 @@ import { createEnv } from '@t3-oss/env-nextjs' import { z } from 'zod' import { sharedEnv } from '../shared' -import { env as dbEnv } from './db' +import { envWebsiteDb } from './db' -export const env = createEnv({ - extends: [sharedEnv, dbEnv], +export const envWebsiteServer = createEnv({ + extends: [sharedEnv, envWebsiteDb], shared: { PORT: z.coerce.number().default(3000), }, From 5e884c0c3c3861a2b9eec50f997be0fb27afda70 Mon Sep 17 00:00:00 2001 From: jowi Date: Sun, 15 Sep 2024 16:45:04 -0400 Subject: [PATCH 08/50] build(api/env): export env vars from barrel file --- libs/env/src/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libs/env/src/index.ts b/libs/env/src/index.ts index 63fd1d60f..e903586b8 100644 --- a/libs/env/src/index.ts +++ b/libs/env/src/index.ts @@ -1 +1,2 @@ -export * from './lib/env' +export * from './website/db' +export * from './website/server' From d61da755d69092752115f79baca0879acd2931b7 Mon Sep 17 00:00:00 2001 From: jowi Date: Sun, 15 Sep 2024 16:53:30 -0400 Subject: [PATCH 09/50] chore(deps): install initial db dependencies pnpm add drizzle-orm postgres pnpm add -D drizzle-kit --- package.json | 3 + pnpm-lock.yaml | 684 ++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 656 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index 6853261ca..1db9ab401 100644 --- a/package.json +++ b/package.json @@ -23,12 +23,14 @@ "@remix-run/react": "^2.8.1", "@remix-run/serve": "^2.8.1", "@t3-oss/env-nextjs": "^0.11.1", + "drizzle-orm": "^0.33.0", "fumadocs-core": "^13.0.4", "fumadocs-docgen": "^1.1.0", "fumadocs-mdx": "^9.0.0", "fumadocs-ui": "^13.0.4", "isbot": "^4.4.0", "next": "14.2.3", + "postgres": "^3.4.4", "react": "18.3.1", "react-dom": "18.3.1", "tailwind": "link:@nx/react/tailwind", @@ -79,6 +81,7 @@ "babel-jest": "^29.4.1", "commitizen": "^4.3.0", "commitlint": "^19.3.0", + "drizzle-kit": "^0.24.2", "eslint": "~8.57.0", "eslint-config-next": "14.2.3", "eslint-config-prettier": "^9.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 54cedbac1..1a5782e2f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,6 +20,9 @@ importers: '@t3-oss/env-nextjs': specifier: ^0.11.1 version: 0.11.1(typescript@5.5.4)(zod@3.23.8) + drizzle-orm: + specifier: ^0.33.0 + version: 0.33.0(@types/react@18.3.1)(postgres@3.4.4)(react@18.3.1) fumadocs-core: specifier: ^13.0.4 version: 13.2.2(@types/react@18.3.1)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -38,6 +41,9 @@ importers: next: specifier: 14.2.3 version: 14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8) + postgres: + specifier: ^3.4.4 + version: 3.4.4 react: specifier: 18.3.1 version: 18.3.1 @@ -183,6 +189,9 @@ importers: commitlint: specifier: ^19.3.0 version: 19.4.0(@types/node@18.16.9)(typescript@5.5.4) + drizzle-kit: + specifier: ^0.24.2 + version: 0.24.2 eslint: specifier: ~8.57.0 version: 8.57.0 @@ -1123,6 +1132,9 @@ packages: '@dprint/toml@0.6.2': resolution: {integrity: sha512-Mk5unEANsL/L+WHYU3NpDXt1ARU5bNU5k5OZELxaJodDycKG6RoRnSlZXpW6+7UN2PSnETAFVUdKrh937ZwtHA==} + '@drizzle-team/brocli@0.10.1': + resolution: {integrity: sha512-AHy0vjc+n/4w/8Mif+w86qpppHuF3AyXbcWW+R/W7GNA3F5/p2nuhlkCJaTXSLZheB4l1rtHzOfr9A7NwoR/Zg==} + '@emnapi/core@1.2.0': resolution: {integrity: sha512-E7Vgw78I93we4ZWdYCb4DGAwRROGkMIXk7/y87UmANR+J6qsWusmC3gLt0H+O0KOt5e6O38U8oJamgbudrES/w==} @@ -1143,6 +1155,18 @@ packages: resolution: {integrity: sha512-G6QUWIcC+KvSwXNsJyDTHvqUdNoAVJPPgkc3+Uk4WBKqZvoXhlvazOgm9aL0HwihJLQf0l+tOE2UFzXBqCqgDw==} engines: {node: '>=16'} + '@esbuild-kit/core-utils@3.3.2': + resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} + + '@esbuild-kit/esm-loader@2.6.5': + resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} + + '@esbuild/aix-ppc64@0.19.12': + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} @@ -1155,6 +1179,18 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.18.20': + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.19.12': + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.21.5': resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} @@ -1167,6 +1203,18 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.18.20': + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.19.12': + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.21.5': resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} @@ -1179,6 +1227,18 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.18.20': + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.19.12': + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.21.5': resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} @@ -1191,6 +1251,18 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.18.20': + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.19.12': + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.21.5': resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} @@ -1203,6 +1275,18 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.18.20': + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.19.12': + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.21.5': resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} @@ -1215,6 +1299,18 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.18.20': + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.19.12': + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.21.5': resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} @@ -1227,6 +1323,18 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.18.20': + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.19.12': + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} @@ -1239,6 +1347,18 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.18.20': + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.19.12': + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.21.5': resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} @@ -1251,6 +1371,18 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.18.20': + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.19.12': + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.21.5': resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} @@ -1263,6 +1395,18 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.18.20': + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.19.12': + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.21.5': resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} @@ -1275,6 +1419,18 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.18.20': + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.19.12': + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.21.5': resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} @@ -1287,6 +1443,18 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.18.20': + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.19.12': + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.21.5': resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} @@ -1299,6 +1467,18 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.18.20': + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.19.12': + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.21.5': resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} @@ -1311,6 +1491,18 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.18.20': + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.19.12': + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.21.5': resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} @@ -1323,6 +1515,18 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.18.20': + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.19.12': + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.21.5': resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} @@ -1335,6 +1539,18 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.18.20': + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.19.12': + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.21.5': resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} @@ -1347,6 +1563,18 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.18.20': + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.19.12': + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.21.5': resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} @@ -1359,6 +1587,18 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.18.20': + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.19.12': + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} @@ -1371,6 +1611,18 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.18.20': + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.19.12': + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.21.5': resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} @@ -1383,6 +1635,18 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.18.20': + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.19.12': + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.21.5': resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} @@ -1395,6 +1659,18 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.18.20': + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.19.12': + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.21.5': resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} @@ -1407,6 +1683,18 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.18.20': + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.19.12': + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.21.5': resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} @@ -5141,6 +5429,99 @@ packages: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} + drizzle-kit@0.24.2: + resolution: {integrity: sha512-nXOaTSFiuIaTMhS8WJC2d4EBeIcN9OSt2A2cyFbQYBAZbi7lRsVGJNqDpEwPqYfJz38yxbY/UtbvBBahBfnExQ==} + hasBin: true + + drizzle-orm@0.33.0: + resolution: {integrity: sha512-SHy72R2Rdkz0LEq0PSG/IdvnT3nGiWuRk+2tXZQ90GVq/XQhpCzu/EFT3V2rox+w8MlkBQxifF8pCStNYnERfA==} + peerDependencies: + '@aws-sdk/client-rds-data': '>=3' + '@cloudflare/workers-types': '>=3' + '@electric-sql/pglite': '>=0.1.1' + '@libsql/client': '*' + '@neondatabase/serverless': '>=0.1' + '@op-engineering/op-sqlite': '>=2' + '@opentelemetry/api': ^1.4.1 + '@planetscale/database': '>=1' + '@prisma/client': '*' + '@tidbcloud/serverless': '*' + '@types/better-sqlite3': '*' + '@types/pg': '*' + '@types/react': '>=18' + '@types/sql.js': '*' + '@vercel/postgres': '>=0.8.0' + '@xata.io/client': '*' + better-sqlite3: '>=7' + bun-types: '*' + expo-sqlite: '>=13.2.0' + knex: '*' + kysely: '*' + mysql2: '>=2' + pg: '>=8' + postgres: '>=3' + prisma: '*' + react: '>=18' + sql.js: '>=1' + sqlite3: '>=5' + peerDependenciesMeta: + '@aws-sdk/client-rds-data': + optional: true + '@cloudflare/workers-types': + optional: true + '@electric-sql/pglite': + optional: true + '@libsql/client': + optional: true + '@neondatabase/serverless': + optional: true + '@op-engineering/op-sqlite': + optional: true + '@opentelemetry/api': + optional: true + '@planetscale/database': + optional: true + '@prisma/client': + optional: true + '@tidbcloud/serverless': + optional: true + '@types/better-sqlite3': + optional: true + '@types/pg': + optional: true + '@types/react': + optional: true + '@types/sql.js': + optional: true + '@vercel/postgres': + optional: true + '@xata.io/client': + optional: true + better-sqlite3: + optional: true + bun-types: + optional: true + expo-sqlite: + optional: true + knex: + optional: true + kysely: + optional: true + mysql2: + optional: true + pg: + optional: true + postgres: + optional: true + prisma: + optional: true + react: + optional: true + sql.js: + optional: true + sqlite3: + optional: true + duplexer2@0.1.4: resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} @@ -5293,11 +5674,26 @@ packages: peerDependencies: esbuild: ^0.14.0 || ^0.15.0 || ^0.16.0 || ^0.17.0 || ^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 + esbuild-register@3.6.0: + resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} + peerDependencies: + esbuild: '>=0.12 <1' + esbuild@0.17.6: resolution: {integrity: sha512-TKFRp9TxrJDdRWfSsSERKEovm6v30iHnrjlcGhLBOtReE28Yp1VSBRfO3GTaOFMoxsNerx4TjrhzSuma9ha83Q==} engines: {node: '>=12'} hasBin: true + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -8967,6 +9363,10 @@ packages: resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} engines: {node: ^10 || ^12 || >=14} + postgres@3.4.4: + resolution: {integrity: sha512-IbyN+9KslkqcXa8AO9fxpk97PA4pzewvpi2B3Dwy9u4zpV32QicaEdgmF3eSQUzdRk7ttDHQejNgAEr4XoeH4A==} + engines: {node: '>=12'} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -11139,7 +11539,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - debug: 4.3.6 + debug: 4.3.7 lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -12115,6 +12515,8 @@ snapshots: '@dprint/toml@0.6.2': {} + '@drizzle-team/brocli@0.10.1': {} + '@emnapi/core@1.2.0': dependencies: '@emnapi/wasi-threads': 1.0.1 @@ -12145,138 +12547,283 @@ snapshots: esquery: 1.6.0 jsdoc-type-pratt-parser: 4.1.0 + '@esbuild-kit/core-utils@3.3.2': + dependencies: + esbuild: 0.18.20 + source-map-support: 0.5.21 + + '@esbuild-kit/esm-loader@2.6.5': + dependencies: + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.7.6 + + '@esbuild/aix-ppc64@0.19.12': + optional: true + '@esbuild/aix-ppc64@0.21.5': optional: true '@esbuild/android-arm64@0.17.6': optional: true + '@esbuild/android-arm64@0.18.20': + optional: true + + '@esbuild/android-arm64@0.19.12': + optional: true + '@esbuild/android-arm64@0.21.5': optional: true '@esbuild/android-arm@0.17.6': optional: true + '@esbuild/android-arm@0.18.20': + optional: true + + '@esbuild/android-arm@0.19.12': + optional: true + '@esbuild/android-arm@0.21.5': optional: true '@esbuild/android-x64@0.17.6': optional: true + '@esbuild/android-x64@0.18.20': + optional: true + + '@esbuild/android-x64@0.19.12': + optional: true + '@esbuild/android-x64@0.21.5': optional: true '@esbuild/darwin-arm64@0.17.6': optional: true + '@esbuild/darwin-arm64@0.18.20': + optional: true + + '@esbuild/darwin-arm64@0.19.12': + optional: true + '@esbuild/darwin-arm64@0.21.5': optional: true '@esbuild/darwin-x64@0.17.6': optional: true + '@esbuild/darwin-x64@0.18.20': + optional: true + + '@esbuild/darwin-x64@0.19.12': + optional: true + '@esbuild/darwin-x64@0.21.5': optional: true '@esbuild/freebsd-arm64@0.17.6': optional: true + '@esbuild/freebsd-arm64@0.18.20': + optional: true + + '@esbuild/freebsd-arm64@0.19.12': + optional: true + '@esbuild/freebsd-arm64@0.21.5': optional: true '@esbuild/freebsd-x64@0.17.6': optional: true + '@esbuild/freebsd-x64@0.18.20': + optional: true + + '@esbuild/freebsd-x64@0.19.12': + optional: true + '@esbuild/freebsd-x64@0.21.5': optional: true '@esbuild/linux-arm64@0.17.6': optional: true + '@esbuild/linux-arm64@0.18.20': + optional: true + + '@esbuild/linux-arm64@0.19.12': + optional: true + '@esbuild/linux-arm64@0.21.5': optional: true '@esbuild/linux-arm@0.17.6': optional: true + '@esbuild/linux-arm@0.18.20': + optional: true + + '@esbuild/linux-arm@0.19.12': + optional: true + '@esbuild/linux-arm@0.21.5': optional: true '@esbuild/linux-ia32@0.17.6': optional: true + '@esbuild/linux-ia32@0.18.20': + optional: true + + '@esbuild/linux-ia32@0.19.12': + optional: true + '@esbuild/linux-ia32@0.21.5': optional: true '@esbuild/linux-loong64@0.17.6': optional: true + '@esbuild/linux-loong64@0.18.20': + optional: true + + '@esbuild/linux-loong64@0.19.12': + optional: true + '@esbuild/linux-loong64@0.21.5': optional: true '@esbuild/linux-mips64el@0.17.6': optional: true + '@esbuild/linux-mips64el@0.18.20': + optional: true + + '@esbuild/linux-mips64el@0.19.12': + optional: true + '@esbuild/linux-mips64el@0.21.5': optional: true '@esbuild/linux-ppc64@0.17.6': optional: true + '@esbuild/linux-ppc64@0.18.20': + optional: true + + '@esbuild/linux-ppc64@0.19.12': + optional: true + '@esbuild/linux-ppc64@0.21.5': optional: true '@esbuild/linux-riscv64@0.17.6': optional: true + '@esbuild/linux-riscv64@0.18.20': + optional: true + + '@esbuild/linux-riscv64@0.19.12': + optional: true + '@esbuild/linux-riscv64@0.21.5': optional: true '@esbuild/linux-s390x@0.17.6': optional: true + '@esbuild/linux-s390x@0.18.20': + optional: true + + '@esbuild/linux-s390x@0.19.12': + optional: true + '@esbuild/linux-s390x@0.21.5': optional: true '@esbuild/linux-x64@0.17.6': optional: true + '@esbuild/linux-x64@0.18.20': + optional: true + + '@esbuild/linux-x64@0.19.12': + optional: true + '@esbuild/linux-x64@0.21.5': optional: true '@esbuild/netbsd-x64@0.17.6': optional: true + '@esbuild/netbsd-x64@0.18.20': + optional: true + + '@esbuild/netbsd-x64@0.19.12': + optional: true + '@esbuild/netbsd-x64@0.21.5': optional: true '@esbuild/openbsd-x64@0.17.6': optional: true + '@esbuild/openbsd-x64@0.18.20': + optional: true + + '@esbuild/openbsd-x64@0.19.12': + optional: true + '@esbuild/openbsd-x64@0.21.5': optional: true '@esbuild/sunos-x64@0.17.6': optional: true + '@esbuild/sunos-x64@0.18.20': + optional: true + + '@esbuild/sunos-x64@0.19.12': + optional: true + '@esbuild/sunos-x64@0.21.5': optional: true '@esbuild/win32-arm64@0.17.6': optional: true + '@esbuild/win32-arm64@0.18.20': + optional: true + + '@esbuild/win32-arm64@0.19.12': + optional: true + '@esbuild/win32-arm64@0.21.5': optional: true '@esbuild/win32-ia32@0.17.6': optional: true + '@esbuild/win32-ia32@0.18.20': + optional: true + + '@esbuild/win32-ia32@0.19.12': + optional: true + '@esbuild/win32-ia32@0.21.5': optional: true '@esbuild/win32-x64@0.17.6': optional: true + '@esbuild/win32-x64@0.18.20': + optional: true + + '@esbuild/win32-x64@0.19.12': + optional: true + '@esbuild/win32-x64@0.21.5': optional: true @@ -14595,7 +15142,7 @@ snapshots: conventional-changelog-writer: 8.0.0 conventional-commits-filter: 5.0.0 conventional-commits-parser: 6.0.0 - debug: 4.3.6 + debug: 4.3.7 import-from-esm: 1.3.4 lodash-es: 4.17.21 micromatch: 4.0.7 @@ -14613,7 +15160,7 @@ snapshots: '@octokit/plugin-throttling': 9.3.1(@octokit/core@6.1.2) '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 - debug: 4.3.6 + debug: 4.3.7 dir-glob: 3.0.1 globby: 14.0.2 http-proxy-agent: 7.0.2 @@ -14650,7 +15197,7 @@ snapshots: conventional-changelog-writer: 8.0.0 conventional-commits-filter: 5.0.0 conventional-commits-parser: 6.0.0 - debug: 4.3.6 + debug: 4.3.7 get-stream: 7.0.1 import-from-esm: 1.3.4 into-stream: 7.0.0 @@ -15359,7 +15906,7 @@ snapshots: dependencies: '@typescript-eslint/types': 7.2.0 '@typescript-eslint/visitor-keys': 7.2.0 - debug: 4.3.6 + debug: 4.3.7 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 @@ -15374,7 +15921,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.1.0 '@typescript-eslint/visitor-keys': 8.1.0 - debug: 4.3.6 + debug: 4.3.7 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 @@ -15887,13 +16434,13 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.6 + debug: 4.3.7 transitivePeerDependencies: - supports-color agent-base@7.1.1: dependencies: - debug: 4.3.6 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -16114,7 +16661,7 @@ snapshots: axios@1.7.3: dependencies: - follow-redirects: 1.15.6(debug@4.3.6) + follow-redirects: 1.15.6(debug@4.3.7) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -17379,6 +17926,21 @@ snapshots: dotenv@16.4.5: {} + drizzle-kit@0.24.2: + dependencies: + '@drizzle-team/brocli': 0.10.1 + '@esbuild-kit/esm-loader': 2.6.5 + esbuild: 0.19.12 + esbuild-register: 3.6.0(esbuild@0.19.12) + transitivePeerDependencies: + - supports-color + + drizzle-orm@0.33.0(@types/react@18.3.1)(postgres@3.4.4)(react@18.3.1): + optionalDependencies: + '@types/react': 18.3.1 + postgres: 3.4.4 + react: 18.3.1 + duplexer2@0.1.4: dependencies: readable-stream: 2.3.8 @@ -17578,6 +18140,13 @@ snapshots: local-pkg: 0.5.0 resolve.exports: 2.0.2 + esbuild-register@3.6.0(esbuild@0.19.12): + dependencies: + debug: 4.3.7 + esbuild: 0.19.12 + transitivePeerDependencies: + - supports-color + esbuild@0.17.6: optionalDependencies: '@esbuild/android-arm': 0.17.6 @@ -17603,6 +18172,57 @@ snapshots: '@esbuild/win32-ia32': 0.17.6 '@esbuild/win32-x64': 0.17.6 + esbuild@0.18.20: + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + + esbuild@0.19.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 @@ -18639,9 +19259,9 @@ snapshots: flexsearch@0.7.21: {} - follow-redirects@1.15.6(debug@4.3.6): + follow-redirects@1.15.6(debug@4.3.7): optionalDependencies: - debug: 4.3.6 + debug: 4.3.7 for-each@0.3.3: dependencies: @@ -19283,14 +19903,14 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.3.6 + debug: 4.3.7 transitivePeerDependencies: - supports-color http-proxy-middleware@2.0.6(@types/express@4.17.21): dependencies: '@types/http-proxy': 1.17.15 - http-proxy: 1.18.1(debug@4.3.6) + http-proxy: 1.18.1(debug@4.3.7) is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.7 @@ -19302,18 +19922,18 @@ snapshots: http-proxy-middleware@3.0.0: dependencies: '@types/http-proxy': 1.17.15 - debug: 4.3.6 - http-proxy: 1.18.1(debug@4.3.6) + debug: 4.3.7 + http-proxy: 1.18.1(debug@4.3.7) is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.7 transitivePeerDependencies: - supports-color - http-proxy@1.18.1(debug@4.3.6): + http-proxy@1.18.1(debug@4.3.7): dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.6(debug@4.3.6) + follow-redirects: 1.15.6(debug@4.3.7) requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -19325,7 +19945,7 @@ snapshots: corser: 2.0.1 he: 1.2.0 html-encoding-sniffer: 3.0.0 - http-proxy: 1.18.1(debug@4.3.6) + http-proxy: 1.18.1(debug@4.3.7) mime: 1.6.0 minimist: 1.2.8 opener: 1.5.2 @@ -19357,7 +19977,7 @@ snapshots: https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 - debug: 4.3.6 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -19405,7 +20025,7 @@ snapshots: import-from-esm@1.3.4: dependencies: - debug: 4.3.6 + debug: 4.3.7 import-meta-resolve: 4.1.0 transitivePeerDependencies: - supports-color @@ -19757,7 +20377,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.6 + debug: 4.3.7 istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -20557,7 +21177,7 @@ snapshots: log4js@6.9.1: dependencies: date-format: 4.0.14 - debug: 4.3.6 + debug: 4.3.7 flatted: 3.3.1 rfdc: 1.4.1 streamroller: 3.1.5 @@ -21452,7 +22072,7 @@ snapshots: micromark@2.11.4: dependencies: - debug: 4.3.6 + debug: 4.3.7 parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -21460,7 +22080,7 @@ snapshots: micromark@3.2.0: dependencies: '@types/debug': 4.1.12 - debug: 4.3.6 + debug: 4.3.7 decode-named-character-reference: 1.0.2 micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 @@ -21482,7 +22102,7 @@ snapshots: micromark@4.0.0: dependencies: '@types/debug': 4.1.12 - debug: 4.3.6 + debug: 4.3.7 decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.1 @@ -22572,6 +23192,8 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 + postgres@3.4.4: {} + prelude-ls@1.2.1: {} prettier-linter-helpers@1.0.0: @@ -23523,7 +24145,7 @@ snapshots: spdy-transport@3.0.0: dependencies: - debug: 4.3.6 + debug: 4.3.7 detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -23534,7 +24156,7 @@ snapshots: spdy@4.0.2: dependencies: - debug: 4.3.6 + debug: 4.3.7 handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 @@ -23596,7 +24218,7 @@ snapshots: streamroller@3.1.5: dependencies: date-format: 4.0.14 - debug: 4.3.6 + debug: 4.3.7 fs-extra: 8.1.0 transitivePeerDependencies: - supports-color @@ -23763,7 +24385,7 @@ snapshots: stylus@0.59.0: dependencies: '@adobe/css-tools': 4.4.0 - debug: 4.3.6 + debug: 4.3.7 glob: 7.2.3 sax: 1.2.4 source-map: 0.7.4 @@ -24549,7 +25171,7 @@ snapshots: vite-node@1.6.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5): dependencies: cac: 6.7.14 - debug: 4.3.6 + debug: 4.3.7 pathe: 1.1.2 picocolors: 1.0.1 vite: 5.4.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5) @@ -24567,7 +25189,7 @@ snapshots: vite-node@2.0.5(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5): dependencies: cac: 6.7.14 - debug: 4.3.6 + debug: 4.3.7 pathe: 1.1.2 tinyrainbow: 1.2.0 vite: 5.4.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5) From c29f3e59ece70de5b455cdf0963507a6642ce57e Mon Sep 17 00:00:00 2001 From: jowi Date: Sun, 15 Sep 2024 21:46:25 -0400 Subject: [PATCH 10/50] chore(api/db): move drizzle config to library root --- libs/db/drizzle.config.ts | 12 ++++++++++++ libs/db/tsconfig.lib.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 libs/db/drizzle.config.ts diff --git a/libs/db/drizzle.config.ts b/libs/db/drizzle.config.ts new file mode 100644 index 000000000..5e2a3e49c --- /dev/null +++ b/libs/db/drizzle.config.ts @@ -0,0 +1,12 @@ +import type { Config } from 'drizzle-kit' + +import { envWebsiteDb } from '@cuhacking/env' + +export default { + dialect: 'postgresql', + schema: './src/schema/index.ts', + out: './drizzle', + dbCredentials: { + url: envWebsiteDb.DATABASE_URL, + }, +} satisfies Config diff --git a/libs/db/tsconfig.lib.json b/libs/db/tsconfig.lib.json index bcf4ea7e2..e85d5d919 100644 --- a/libs/db/tsconfig.lib.json +++ b/libs/db/tsconfig.lib.json @@ -5,6 +5,6 @@ "declaration": true, "outDir": "../../dist/out-tsc" }, - "include": ["src/**/*.ts"], + "include": ["src/**/*.ts", "drizzle.config.ts"], "exclude": ["vite.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] } From d312e10aab12fca15639e510fd8fbd20efdd4446 Mon Sep 17 00:00:00 2001 From: jowi Date: Sun, 15 Sep 2024 22:14:34 -0400 Subject: [PATCH 11/50] feat(api/db): create sample database schema --- libs/db/src/index.ts | 15 ++++++++++++++- libs/db/src/schema/index.ts | 2 ++ libs/db/src/schema/session.ts | 14 ++++++++++++++ libs/db/src/schema/user.ts | 8 ++++++++ 4 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 libs/db/src/schema/index.ts create mode 100644 libs/db/src/schema/session.ts create mode 100644 libs/db/src/schema/user.ts diff --git a/libs/db/src/index.ts b/libs/db/src/index.ts index ff5b0b1f7..a92a06e33 100644 --- a/libs/db/src/index.ts +++ b/libs/db/src/index.ts @@ -1 +1,14 @@ -export * from './lib/db' +import { drizzle } from 'drizzle-orm/postgres-js' +import postgres from 'postgres' +import { envWebsiteDb } from '@cuhacking/env' +import * as schema from './schema' + +const sql = postgres(envWebsiteDb.DATABASE_URL) + +export const db = drizzle(sql, { + schema, + logger: envWebsiteDb.NODE_ENV === 'development', +}) + +export * from './schema/user' +export * from './schema/session' diff --git a/libs/db/src/schema/index.ts b/libs/db/src/schema/index.ts new file mode 100644 index 000000000..9f282a48c --- /dev/null +++ b/libs/db/src/schema/index.ts @@ -0,0 +1,2 @@ +export * from './user' +export * from './session' diff --git a/libs/db/src/schema/session.ts b/libs/db/src/schema/session.ts new file mode 100644 index 000000000..f96013b56 --- /dev/null +++ b/libs/db/src/schema/session.ts @@ -0,0 +1,14 @@ +import { pgTable, text, timestamp } from 'drizzle-orm/pg-core' + +import { user } from './user' + +export const session = pgTable('session', { + id: text('id').primaryKey(), + userId: text('user_id') + .notNull() + .references(() => user.id), + expiresAt: timestamp('expires_at', { + withTimezone: true, + mode: 'date', + }).notNull(), +}) diff --git a/libs/db/src/schema/user.ts b/libs/db/src/schema/user.ts new file mode 100644 index 000000000..ff06dec8c --- /dev/null +++ b/libs/db/src/schema/user.ts @@ -0,0 +1,8 @@ +import { pgTable, text } from 'drizzle-orm/pg-core' + +export const user = pgTable('user', { + id: text('id').primaryKey(), + name: text('name'), + email: text('email').notNull(), + avatarUrl: text('avatar_url'), +}) From 12cff165051aebed018066a287502c33e3553433 Mon Sep 17 00:00:00 2001 From: jowi Date: Sun, 15 Sep 2024 22:38:43 -0400 Subject: [PATCH 12/50] chore(deps): add tRPC and superjson pnpm add @trpc/server@next @trpc/client@next superjson --- package.json | 3 + pnpm-lock.yaml | 239 ++++++++++++++++++++++++++++--------------------- 2 files changed, 142 insertions(+), 100 deletions(-) diff --git a/package.json b/package.json index 1db9ab401..3f9b646ea 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,8 @@ "@remix-run/react": "^2.8.1", "@remix-run/serve": "^2.8.1", "@t3-oss/env-nextjs": "^0.11.1", + "@trpc/client": "11.0.0-rc.502", + "@trpc/server": "11.0.0-rc.502", "drizzle-orm": "^0.33.0", "fumadocs-core": "^13.0.4", "fumadocs-docgen": "^1.1.0", @@ -33,6 +35,7 @@ "postgres": "^3.4.4", "react": "18.3.1", "react-dom": "18.3.1", + "superjson": "^2.2.1", "tailwind": "link:@nx/react/tailwind", "tslib": "^2.3.0", "zod": "^3.23.8" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1a5782e2f..cf95c0b92 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,6 +20,12 @@ importers: '@t3-oss/env-nextjs': specifier: ^0.11.1 version: 0.11.1(typescript@5.5.4)(zod@3.23.8) + '@trpc/client': + specifier: 11.0.0-rc.502 + version: 11.0.0-rc.502(@trpc/server@11.0.0-rc.502) + '@trpc/server': + specifier: 11.0.0-rc.502 + version: 11.0.0-rc.502 drizzle-orm: specifier: ^0.33.0 version: 0.33.0(@types/react@18.3.1)(postgres@3.4.4)(react@18.3.1) @@ -50,6 +56,9 @@ importers: react-dom: specifier: 18.3.1 version: 18.3.1(react@18.3.1) + superjson: + specifier: ^2.2.1 + version: 2.2.1 tailwind: specifier: link:@nx/react/tailwind version: link:@nx/react/tailwind @@ -101,13 +110,13 @@ importers: version: 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/next': specifier: 19.5.7 - version: 19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.17.6)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + version: 19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.19.12)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) '@nx/playwright': specifier: 19.5.7 version: 19.5.7(@babel/traverse@7.25.3)(@playwright/test@1.46.0)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/remix': specifier: 19.5.7 - version: 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + version: 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) '@nx/vite': specifier: ^19.6.0 version: 19.6.0(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(vite@5.4.0(@types/node@18.16.9)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5))(vitest@2.0.5(@types/node@18.16.9)(@vitest/ui@2.0.5)(jsdom@22.1.0)(less@4.1.3)(sass@1.77.8)(stylus@0.59.0)(terser@5.31.5)) @@ -272,7 +281,7 @@ importers: version: 3.4.3(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4)) ts-jest: specifier: ^29.1.0 - version: 29.2.4(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(esbuild@0.17.6)(jest@29.7.0(@types/node@18.16.9)(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4)))(typescript@5.5.4) + version: 29.2.4(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(esbuild@0.19.12)(jest@29.7.0(@types/node@18.16.9)(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4)))(typescript@5.5.4) ts-node: specifier: 10.9.1 version: 10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4) @@ -3381,6 +3390,14 @@ packages: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} + '@trpc/client@11.0.0-rc.502': + resolution: {integrity: sha512-ysFQ3wHnjzLcAqeuwx9/B/YV+2XN/kmfAdTUG+O/SUAdP2wAwo6XbhOxlHw0HWS5pDCsTfJkxDr1nMVkuFM07Q==} + peerDependencies: + '@trpc/server': 11.0.0-rc.502+2a8c56027 + + '@trpc/server@11.0.0-rc.502': + resolution: {integrity: sha512-n6B8Q/UqF+hFXyCTXq9AWSn6EkXBbVo/Bs7/QzZxe5KD5CdnBomC7A1y6Qr+i0eiOWwTHJZQ0az+gJetb2fdxw==} + '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} @@ -4805,6 +4822,10 @@ packages: copy-anything@2.0.6: resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + copy-anything@3.0.5: + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} + copy-webpack-plugin@10.2.4: resolution: {integrity: sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==} engines: {node: '>= 12.20.0'} @@ -7244,6 +7265,10 @@ packages: is-what@3.14.1: resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} @@ -10379,6 +10404,10 @@ packages: resolution: {integrity: sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==} engines: {node: '>=18'} + superjson@2.2.1: + resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} + engines: {node: '>=16'} + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -13282,7 +13311,7 @@ snapshots: - supports-color - utf-8-validate - '@module-federation/enhanced@0.2.8(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': + '@module-federation/enhanced@0.2.8(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12))': dependencies: '@module-federation/bridge-react-webpack-plugin': 0.2.8 '@module-federation/dts-plugin': 0.2.8(typescript@5.5.4) @@ -13295,7 +13324,7 @@ snapshots: upath: 2.0.1 optionalDependencies: typescript: 5.5.4 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) transitivePeerDependencies: - bufferutil - debug @@ -13451,12 +13480,6 @@ snapshots: transitivePeerDependencies: - nx - '@nrwl/devkit@19.6.0(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))': - dependencies: - '@nx/devkit': 19.6.0(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) - transitivePeerDependencies: - - nx - '@nrwl/devkit@19.6.0(nx@19.6.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))': dependencies: '@nx/devkit': 19.6.0(nx@19.6.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) @@ -13544,9 +13567,9 @@ snapshots: - typescript - verdaccio - '@nrwl/next@19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.17.6)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': + '@nrwl/next@19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.19.12)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12))': dependencies: - '@nx/next': 19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.17.6)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@nx/next': 19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.19.12)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) transitivePeerDependencies: - '@babel/core' - '@babel/traverse' @@ -13581,9 +13604,9 @@ snapshots: - webpack - webpack-cli - '@nrwl/react@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': + '@nrwl/react@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12))': dependencies: - '@nx/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@nx/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -13602,9 +13625,9 @@ snapshots: - vue-tsc - webpack - '@nrwl/remix@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': + '@nrwl/remix@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12))': dependencies: - '@nx/remix': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@nx/remix': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -13688,9 +13711,9 @@ snapshots: - typescript - verdaccio - '@nrwl/webpack@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.17.6)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': + '@nrwl/webpack@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.19.12)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: - '@nx/webpack': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.17.6)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) + '@nx/webpack': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.19.12)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) transitivePeerDependencies: - '@babel/traverse' - '@parcel/css' @@ -13751,7 +13774,7 @@ snapshots: '@nx/devkit@19.6.0(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))': dependencies: - '@nrwl/devkit': 19.6.0(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) + '@nrwl/devkit': 19.6.0(nx@19.6.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.2 @@ -14005,22 +14028,22 @@ snapshots: - supports-color - verdaccio - '@nx/next@19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.17.6)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': + '@nx/next@19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.19.12)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12))': dependencies: '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2) - '@nrwl/next': 19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.17.6)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@nrwl/next': 19.5.7(@babel/core@7.25.2)(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(esbuild@0.19.12)(eslint@8.57.0)(next@14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8))(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) '@nx/eslint': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(verdaccio@5.32.2(typanion@3.14.0)) '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) - '@nx/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@nx/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) '@nx/web': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) - '@nx/webpack': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.17.6)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) + '@nx/webpack': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.19.12)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/workspace': 19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.5.4) '@svgr/webpack': 8.1.0(typescript@5.5.4) chalk: 4.1.2 - copy-webpack-plugin: 10.2.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - file-loader: 6.2.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + copy-webpack-plugin: 10.2.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) + file-loader: 6.2.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) fs-extra: 11.2.0 ignore: 5.3.2 next: 14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8) @@ -14144,10 +14167,10 @@ snapshots: - typescript - verdaccio - '@nx/react@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': + '@nx/react@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12))': dependencies: - '@module-federation/enhanced': 0.2.8(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - '@nrwl/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@module-federation/enhanced': 0.2.8(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) + '@nrwl/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) '@nx/eslint': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(verdaccio@5.32.2(typanion@3.14.0)) '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) @@ -14155,7 +14178,7 @@ snapshots: '@phenomnomnominal/tsquery': 5.0.1(typescript@5.5.4) '@svgr/webpack': 8.1.0(typescript@5.5.4) chalk: 4.1.2 - file-loader: 6.2.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + file-loader: 6.2.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) minimatch: 9.0.3 tslib: 2.6.3 transitivePeerDependencies: @@ -14176,12 +14199,12 @@ snapshots: - vue-tsc - webpack - '@nx/remix@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6))': + '@nx/remix@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12))': dependencies: - '@nrwl/remix': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@nrwl/remix': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) - '@nx/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@nx/react': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(@zkochan/js-yaml@0.0.7)(eslint@8.57.0)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.5.4) tslib: 2.6.3 transitivePeerDependencies: @@ -14267,50 +14290,50 @@ snapshots: - typescript - verdaccio - '@nx/webpack@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.17.6)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': + '@nx/webpack@19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.19.12)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0))': dependencies: '@babel/core': 7.25.2 - '@module-federation/enhanced': 0.2.8(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + '@module-federation/enhanced': 0.2.8(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) '@module-federation/sdk': 0.2.8 - '@nrwl/webpack': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.17.6)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) + '@nrwl/webpack': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(esbuild@0.19.12)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) '@nx/js': 19.5.7(@babel/traverse@7.25.3)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))(typescript@5.5.4)(verdaccio@5.32.2(typanion@3.14.0)) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.5.4) ajv: 8.17.1 autoprefixer: 10.4.13(postcss@8.4.38) - babel-loader: 9.1.3(@babel/core@7.25.2)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + babel-loader: 9.1.3(@babel/core@7.25.2)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) browserslist: 4.23.3 chalk: 4.1.2 - copy-webpack-plugin: 10.2.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - css-loader: 6.11.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - css-minimizer-webpack-plugin: 5.0.1(esbuild@0.17.6)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + copy-webpack-plugin: 10.2.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) + css-loader: 6.11.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) + css-minimizer-webpack-plugin: 5.0.1(esbuild@0.19.12)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) express: 4.19.2 - fork-ts-checker-webpack-plugin: 7.2.13(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + fork-ts-checker-webpack-plugin: 7.2.13(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) http-proxy-middleware: 3.0.0 less: 4.1.3 - less-loader: 11.1.0(less@4.1.3)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - license-webpack-plugin: 4.0.2(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + less-loader: 11.1.0(less@4.1.3)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) + license-webpack-plugin: 4.0.2(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) loader-utils: 2.0.4 - mini-css-extract-plugin: 2.4.7(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + mini-css-extract-plugin: 2.4.7(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) parse5: 4.0.0 postcss: 8.4.38 postcss-import: 14.1.0(postcss@8.4.38) - postcss-loader: 6.2.1(postcss@8.4.38)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + postcss-loader: 6.2.1(postcss@8.4.38)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) rxjs: 7.8.1 sass: 1.77.8 - sass-loader: 12.6.0(sass@1.77.8)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - source-map-loader: 5.0.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - style-loader: 3.3.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + sass-loader: 12.6.0(sass@1.77.8)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) + source-map-loader: 5.0.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) + style-loader: 3.3.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) stylus: 0.59.0 - stylus-loader: 7.1.3(stylus@0.59.0)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - terser-webpack-plugin: 5.3.10(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) - ts-loader: 9.5.1(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + stylus-loader: 7.1.3(stylus@0.59.0)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) + terser-webpack-plugin: 5.3.10(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) + ts-loader: 9.5.1(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) tsconfig-paths-webpack-plugin: 4.0.0 tslib: 2.6.3 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) - webpack-dev-server: 4.15.2(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) + webpack-dev-server: 4.15.2(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) webpack-node-externals: 3.0.0 - webpack-subresource-integrity: 5.1.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + webpack-subresource-integrity: 5.1.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) transitivePeerDependencies: - '@babel/traverse' - '@parcel/css' @@ -15530,6 +15553,12 @@ snapshots: '@tootallnate/once@2.0.0': {} + '@trpc/client@11.0.0-rc.502(@trpc/server@11.0.0-rc.502)': + dependencies: + '@trpc/server': 11.0.0-rc.502 + + '@trpc/server@11.0.0-rc.502': {} + '@trysound/sax@0.2.0': {} '@tsconfig/node10@1.0.11': {} @@ -15999,7 +16028,7 @@ snapshots: '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.25.2) '@vanilla-extract/babel-plugin-debug-ids': 1.0.6 '@vanilla-extract/css': 1.15.3 - esbuild: 0.17.6 + esbuild: 0.19.12 eval: 0.1.8 find-up: 5.0.0 javascript-stringify: 2.1.0 @@ -16684,12 +16713,12 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@9.1.3(@babel/core@7.25.2)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + babel-loader@9.1.3(@babel/core@7.25.2)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: '@babel/core': 7.25.2 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) babel-plugin-const-enum@1.2.0(@babel/core@7.25.2): dependencies: @@ -17295,7 +17324,11 @@ snapshots: dependencies: is-what: 3.14.1 - copy-webpack-plugin@10.2.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + copy-anything@3.0.5: + dependencies: + is-what: 4.1.16 + + copy-webpack-plugin@10.2.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: fast-glob: 3.3.2 glob-parent: 6.0.2 @@ -17303,7 +17336,7 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) core-js-compat@3.38.0: dependencies: @@ -17402,7 +17435,7 @@ snapshots: dependencies: postcss: 8.4.38 - css-loader@6.11.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + css-loader@6.11.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 @@ -17413,9 +17446,9 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.6.3 optionalDependencies: - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) - css-minimizer-webpack-plugin@5.0.1(esbuild@0.17.6)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + css-minimizer-webpack-plugin@5.0.1(esbuild@0.19.12)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: '@jridgewell/trace-mapping': 0.3.25 cssnano: 6.1.2(postcss@8.4.38) @@ -17423,9 +17456,9 @@ snapshots: postcss: 8.4.38 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) optionalDependencies: - esbuild: 0.17.6 + esbuild: 0.19.12 css-select@5.1.0: dependencies: @@ -19150,11 +19183,11 @@ snapshots: dependencies: flat-cache: 3.2.0 - file-loader@6.2.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + file-loader@6.2.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) filelist@1.0.4: dependencies: @@ -19274,7 +19307,7 @@ snapshots: forever-agent@0.6.1: {} - fork-ts-checker-webpack-plugin@7.2.13(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + fork-ts-checker-webpack-plugin@7.2.13(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: '@babel/code-frame': 7.24.7 chalk: 4.1.2 @@ -19289,7 +19322,7 @@ snapshots: semver: 7.6.3 tapable: 2.2.1 typescript: 5.5.4 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) form-data@2.3.3: dependencies: @@ -20317,6 +20350,8 @@ snapshots: is-what@3.14.1: {} + is-what@4.1.16: {} + is-windows@1.0.2: {} is-wsl@2.2.0: @@ -21003,11 +21038,11 @@ snapshots: layout-base@1.0.2: {} - less-loader@11.1.0(less@4.1.3)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + less-loader@11.1.0(less@4.1.3)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: klona: 2.0.6 less: 4.1.3 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) less@4.1.3: dependencies: @@ -21030,11 +21065,11 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - license-webpack-plugin@4.0.2(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + license-webpack-plugin@4.0.2(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: webpack-sources: 3.2.3 optionalDependencies: - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) lilconfig@2.1.0: {} @@ -22150,10 +22185,10 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.4.7(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + mini-css-extract-plugin@2.4.7(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: schema-utils: 4.2.0 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) mini-svg-data-uri@1.4.4: {} @@ -23005,13 +23040,13 @@ snapshots: postcss: 8.4.38 ts-node: 10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4) - postcss-loader@6.2.1(postcss@8.4.38)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + postcss-loader@6.2.1(postcss@8.4.38)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 postcss: 8.4.38 semver: 7.6.3 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) postcss-merge-longhand@6.0.5(postcss@8.4.38): dependencies: @@ -23797,11 +23832,11 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@12.6.0(sass@1.77.8)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + sass-loader@12.6.0(sass@1.77.8)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: klona: 2.0.6 neo-async: 2.6.2 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) optionalDependencies: sass: 1.77.8 @@ -24095,11 +24130,11 @@ snapshots: source-map-js@1.2.0: {} - source-map-loader@5.0.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + source-map-loader@5.0.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.0 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) source-map-support@0.5.13: dependencies: @@ -24348,9 +24383,9 @@ snapshots: minimist: 1.2.8 through: 2.3.8 - style-loader@3.3.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + style-loader@3.3.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) style-to-object@0.4.4: dependencies: @@ -24375,12 +24410,12 @@ snapshots: stylis@4.3.2: {} - stylus-loader@7.1.3(stylus@0.59.0)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + stylus-loader@7.1.3(stylus@0.59.0)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: fast-glob: 3.3.2 normalize-path: 3.0.0 stylus: 0.59.0 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) stylus@0.59.0: dependencies: @@ -24407,6 +24442,10 @@ snapshots: function-timeout: 1.0.2 time-span: 5.1.0 + superjson@2.2.1: + dependencies: + copy-anything: 3.0.5 + supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -24525,17 +24564,17 @@ snapshots: type-fest: 2.19.0 unique-string: 3.0.0 - terser-webpack-plugin@5.3.10(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + terser-webpack-plugin@5.3.10(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.5 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) optionalDependencies: '@swc/core': 1.5.29(@swc/helpers@0.5.12) - esbuild: 0.17.6 + esbuild: 0.19.12 terser@5.31.5: dependencies: @@ -24663,7 +24702,7 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.2.4(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(esbuild@0.17.6)(jest@29.7.0(@types/node@18.16.9)(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4)))(typescript@5.5.4): + ts-jest@29.2.4(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(esbuild@0.19.12)(jest@29.7.0(@types/node@18.16.9)(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4)))(typescript@5.5.4): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 @@ -24681,9 +24720,9 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.25.2) - esbuild: 0.17.6 + esbuild: 0.19.12 - ts-loader@9.5.1(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + ts-loader@9.5.1(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: chalk: 4.1.2 enhanced-resolve: 5.17.1 @@ -24691,7 +24730,7 @@ snapshots: semver: 7.6.3 source-map: 0.7.4 typescript: 5.5.4 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.4.5): dependencies: @@ -25302,16 +25341,16 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@5.3.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + webpack-dev-middleware@5.3.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) - webpack-dev-server@4.15.2(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + webpack-dev-server@4.15.2(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -25341,10 +25380,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 5.3.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + webpack-dev-middleware: 5.3.4(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) ws: 8.18.0 optionalDependencies: - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) transitivePeerDependencies: - bufferutil - debug @@ -25361,12 +25400,12 @@ snapshots: webpack-sources@3.2.3: {} - webpack-subresource-integrity@5.1.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)): + webpack-subresource-integrity@5.1.0(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)): dependencies: typed-assert: 1.0.9 - webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6) + webpack: 5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12) - webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6): + webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -25389,7 +25428,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.17.6)) + terser-webpack-plugin: 5.3.10(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)(webpack@5.93.0(@swc/core@1.5.29(@swc/helpers@0.5.12))(esbuild@0.19.12)) watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: From 2c896daf45f3c65c85e0c55e111c87c2c874cd2b Mon Sep 17 00:00:00 2001 From: jowi Date: Sun, 15 Sep 2024 23:32:51 -0400 Subject: [PATCH 13/50] chore(api/auth): generate auth library pnpm exec nx generate @nx/js:library --name=auth --directory=libs/auth --importPath=@cuhacking/auth --publishable=true --projectNameAndRootFormat=as-provided --unitTestRunner=vitest --no-interactive build(api/auth): change package type to module build(libs): change module and moduleResolution to ESNext and Bundler respectively --- libs/api/tsconfig.json | 3 ++- libs/auth/README.md | 11 +++++++++ libs/auth/eslint.config.js | 42 ++++++++++++++++++++++++++++++++++ libs/auth/package.json | 10 ++++++++ libs/auth/project.json | 32 ++++++++++++++++++++++++++ libs/auth/src/index.ts | 1 + libs/auth/src/lib/auth.spec.ts | 7 ++++++ libs/auth/src/lib/auth.ts | 3 +++ libs/auth/tsconfig.json | 23 +++++++++++++++++++ libs/auth/tsconfig.lib.json | 10 ++++++++ libs/auth/tsconfig.spec.json | 26 +++++++++++++++++++++ libs/auth/vite.config.ts | 24 +++++++++++++++++++ libs/db/tsconfig.json | 3 ++- libs/env/tsconfig.json | 3 ++- tsconfig.base.json | 1 + 15 files changed, 196 insertions(+), 3 deletions(-) create mode 100644 libs/auth/README.md create mode 100644 libs/auth/eslint.config.js create mode 100644 libs/auth/package.json create mode 100644 libs/auth/project.json create mode 100644 libs/auth/src/index.ts create mode 100644 libs/auth/src/lib/auth.spec.ts create mode 100644 libs/auth/src/lib/auth.ts create mode 100644 libs/auth/tsconfig.json create mode 100644 libs/auth/tsconfig.lib.json create mode 100644 libs/auth/tsconfig.spec.json create mode 100644 libs/auth/vite.config.ts diff --git a/libs/api/tsconfig.json b/libs/api/tsconfig.json index f61ea1970..f45b571de 100644 --- a/libs/api/tsconfig.json +++ b/libs/api/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "module": "commonjs", + "module": "ESNext", + "moduleResolution": "Bundler", "strict": true, "noFallthroughCasesInSwitch": true, "noImplicitOverride": true, diff --git a/libs/auth/README.md b/libs/auth/README.md new file mode 100644 index 000000000..43d654bfa --- /dev/null +++ b/libs/auth/README.md @@ -0,0 +1,11 @@ +# auth + +This library was generated with [Nx](https://nx.dev). + +## Building + +Run `nx build auth` to build the library. + +## Running unit tests + +Run `nx test auth` to execute the unit tests via [Vitest](https://vitest.dev/). diff --git a/libs/auth/eslint.config.js b/libs/auth/eslint.config.js new file mode 100644 index 000000000..8f105660e --- /dev/null +++ b/libs/auth/eslint.config.js @@ -0,0 +1,42 @@ +// TODO: merge with antfu eslint config +// const { FlatCompat } = require('@eslint/eslintrc'); +// const baseConfigPromise = require('../../eslint.config.js') +import baseConfigPromise from '../../eslint.config.js' +// const js = require('@eslint/js'); + +export default (async () => { + const baseConfig = await baseConfigPromise + + return [ + ...baseConfig, + + // The following configurations are commented out + // ...compat.extends( + // 'plugin:@nx/react-typescript', + // 'next', + // 'next/core-web-vitals' + // ), + // { + // files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'], + // rules: { + // '@next/next/no-html-link-for-pages': ['error', 'apps/portal/pages'], + // }, + // }, + // { + // files: ['**/*.ts', '**/*.tsx'], + // rules: {}, + // }, + // { + // files: ['**/*.js', '**/*.jsx'], + // rules: {}, + // }, + // ...compat.config({ env: { jest: true } }).map((config) => ({ + // ...config, + // files: ['**/*.spec.ts', '**/*.spec.tsx', '**/*.spec.js', '**/*.spec.jsx'], + // rules: { + // ...config.rules, + // }, + // })), + // { ignores: ['.next/**/*'] }, + ] +})() diff --git a/libs/auth/package.json b/libs/auth/package.json new file mode 100644 index 000000000..8ae955969 --- /dev/null +++ b/libs/auth/package.json @@ -0,0 +1,10 @@ +{ + "name": "@cuhacking/auth", + "type": "module", + "version": "0.0.1", + "main": "./src/index.js", + "dependencies": { + "tslib": "^2.3.0" + }, + "typings": "./src/index.d.ts" +} diff --git a/libs/auth/project.json b/libs/auth/project.json new file mode 100644 index 000000000..7978299c0 --- /dev/null +++ b/libs/auth/project.json @@ -0,0 +1,32 @@ +{ + "name": "auth", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "libs/auth/src", + "projectType": "library", + "release": { + "version": { + "generatorOptions": { + "packageRoot": "dist/{projectRoot}", + "currentVersionResolver": "git-tag" + } + } + }, + "tags": [], + "targets": { + "build": { + "executor": "@nx/js:tsc", + "outputs": ["{options.outputPath}"], + "options": { + "outputPath": "dist/libs/auth", + "main": "libs/auth/src/index.ts", + "tsConfig": "libs/auth/tsconfig.lib.json", + "assets": ["libs/auth/*.md"] + } + }, + "nx-release-publish": { + "options": { + "packageRoot": "dist/{projectRoot}" + } + } + } +} diff --git a/libs/auth/src/index.ts b/libs/auth/src/index.ts new file mode 100644 index 000000000..6f06caaa8 --- /dev/null +++ b/libs/auth/src/index.ts @@ -0,0 +1 @@ +export * from './lib/auth' diff --git a/libs/auth/src/lib/auth.spec.ts b/libs/auth/src/lib/auth.spec.ts new file mode 100644 index 000000000..ef31536e3 --- /dev/null +++ b/libs/auth/src/lib/auth.spec.ts @@ -0,0 +1,7 @@ +import { auth } from './auth' + +describe('auth', () => { + it('should work', () => { + expect(auth()).toEqual('auth') + }) +}) diff --git a/libs/auth/src/lib/auth.ts b/libs/auth/src/lib/auth.ts new file mode 100644 index 000000000..00a063c69 --- /dev/null +++ b/libs/auth/src/lib/auth.ts @@ -0,0 +1,3 @@ +export function auth(): string { + return 'auth' +} diff --git a/libs/auth/tsconfig.json b/libs/auth/tsconfig.json new file mode 100644 index 000000000..f45b571de --- /dev/null +++ b/libs/auth/tsconfig.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "ESNext", + "moduleResolution": "Bundler", + "strict": true, + "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noPropertyAccessFromIndexSignature": true, + "forceConsistentCasingInFileNames": true + }, + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } + ], + "files": [], + "include": [] +} diff --git a/libs/auth/tsconfig.lib.json b/libs/auth/tsconfig.lib.json new file mode 100644 index 000000000..bcf4ea7e2 --- /dev/null +++ b/libs/auth/tsconfig.lib.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "types": ["node"], + "declaration": true, + "outDir": "../../dist/out-tsc" + }, + "include": ["src/**/*.ts"], + "exclude": ["vite.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] +} diff --git a/libs/auth/tsconfig.spec.json b/libs/auth/tsconfig.spec.json new file mode 100644 index 000000000..983ad91ec --- /dev/null +++ b/libs/auth/tsconfig.spec.json @@ -0,0 +1,26 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "types": [ + "vitest/globals", + "vitest/importMeta", + "vite/client", + "node", + "vitest" + ], + "outDir": "../../dist/out-tsc" + }, + "include": [ + "vite.config.ts", + "vitest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" + ] +} diff --git a/libs/auth/vite.config.ts b/libs/auth/vite.config.ts new file mode 100644 index 000000000..2d9107538 --- /dev/null +++ b/libs/auth/vite.config.ts @@ -0,0 +1,24 @@ +import { defineConfig } from 'vite' + +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin' + +export default defineConfig({ + root: __dirname, + cacheDir: '../../node_modules/.vite/libs/auth', + + plugins: [nxViteTsPaths()], + + // Uncomment this if you are using workers. + // worker: { + // plugins: [ nxViteTsPaths() ], + // }, + + test: { + watch: false, + globals: true, + environment: 'node', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + reporters: ['default'], + coverage: { reportsDirectory: '../../coverage/libs/auth', provider: 'v8' }, + }, +}) diff --git a/libs/db/tsconfig.json b/libs/db/tsconfig.json index f61ea1970..f45b571de 100644 --- a/libs/db/tsconfig.json +++ b/libs/db/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "module": "commonjs", + "module": "ESNext", + "moduleResolution": "Bundler", "strict": true, "noFallthroughCasesInSwitch": true, "noImplicitOverride": true, diff --git a/libs/env/tsconfig.json b/libs/env/tsconfig.json index f61ea1970..f45b571de 100644 --- a/libs/env/tsconfig.json +++ b/libs/env/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "module": "commonjs", + "module": "ESNext", + "moduleResolution": "Bundler", "strict": true, "noFallthroughCasesInSwitch": true, "noImplicitOverride": true, diff --git a/tsconfig.base.json b/tsconfig.base.json index 9bed9a8a2..05b906c81 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -11,6 +11,7 @@ "moduleResolution": "Node", "paths": { "@cuhacking/api": ["libs/api/src/index.ts"], + "@cuhacking/auth": ["libs/auth/src/index.ts"], "@cuhacking/db": ["libs/db/src/index.ts"], "@cuhacking/env": ["libs/env/src/index.ts"] }, From 351cb484bbab6f344b61b6113fbfae00f3c1b81d Mon Sep 17 00:00:00 2001 From: jowi Date: Wed, 18 Sep 2024 20:21:14 -0400 Subject: [PATCH 14/50] chore(api/utils): generate utils library pnpm exec nx generate @nx/js:library --name=utils --directory=libs/utils --importPath=@cuhacking/utils --publishable=true --projectNameAndRootFormat=as-provided --unitTestRunner=vitest --no-interactive --- libs/utils/README.md | 11 +++++++++ libs/utils/eslint.config.js | 42 ++++++++++++++++++++++++++++++++ libs/utils/package.json | 8 ++++++ libs/utils/project.json | 32 ++++++++++++++++++++++++ libs/utils/src/index.ts | 1 + libs/utils/src/lib/utils.spec.ts | 7 ++++++ libs/utils/src/lib/utils.ts | 3 +++ libs/utils/tsconfig.json | 23 +++++++++++++++++ libs/utils/tsconfig.lib.json | 10 ++++++++ libs/utils/tsconfig.spec.json | 26 ++++++++++++++++++++ libs/utils/vite.config.ts | 24 ++++++++++++++++++ tsconfig.base.json | 3 ++- 12 files changed, 189 insertions(+), 1 deletion(-) create mode 100644 libs/utils/README.md create mode 100644 libs/utils/eslint.config.js create mode 100644 libs/utils/package.json create mode 100644 libs/utils/project.json create mode 100644 libs/utils/src/index.ts create mode 100644 libs/utils/src/lib/utils.spec.ts create mode 100644 libs/utils/src/lib/utils.ts create mode 100644 libs/utils/tsconfig.json create mode 100644 libs/utils/tsconfig.lib.json create mode 100644 libs/utils/tsconfig.spec.json create mode 100644 libs/utils/vite.config.ts diff --git a/libs/utils/README.md b/libs/utils/README.md new file mode 100644 index 000000000..a44171ed3 --- /dev/null +++ b/libs/utils/README.md @@ -0,0 +1,11 @@ +# utils + +This library was generated with [Nx](https://nx.dev). + +## Building + +Run `nx build utils` to build the library. + +## Running unit tests + +Run `nx test utils` to execute the unit tests via [Vitest](https://vitest.dev/). diff --git a/libs/utils/eslint.config.js b/libs/utils/eslint.config.js new file mode 100644 index 000000000..8f105660e --- /dev/null +++ b/libs/utils/eslint.config.js @@ -0,0 +1,42 @@ +// TODO: merge with antfu eslint config +// const { FlatCompat } = require('@eslint/eslintrc'); +// const baseConfigPromise = require('../../eslint.config.js') +import baseConfigPromise from '../../eslint.config.js' +// const js = require('@eslint/js'); + +export default (async () => { + const baseConfig = await baseConfigPromise + + return [ + ...baseConfig, + + // The following configurations are commented out + // ...compat.extends( + // 'plugin:@nx/react-typescript', + // 'next', + // 'next/core-web-vitals' + // ), + // { + // files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'], + // rules: { + // '@next/next/no-html-link-for-pages': ['error', 'apps/portal/pages'], + // }, + // }, + // { + // files: ['**/*.ts', '**/*.tsx'], + // rules: {}, + // }, + // { + // files: ['**/*.js', '**/*.jsx'], + // rules: {}, + // }, + // ...compat.config({ env: { jest: true } }).map((config) => ({ + // ...config, + // files: ['**/*.spec.ts', '**/*.spec.tsx', '**/*.spec.js', '**/*.spec.jsx'], + // rules: { + // ...config.rules, + // }, + // })), + // { ignores: ['.next/**/*'] }, + ] +})() diff --git a/libs/utils/package.json b/libs/utils/package.json new file mode 100644 index 000000000..d29ab57f8 --- /dev/null +++ b/libs/utils/package.json @@ -0,0 +1,8 @@ +{ + "name": "@cuhacking/utils", + "type": "module", + "version": "0.0.1", + "main": "./src/index.js", + "dependencies": {}, + "typings": "./src/index.d.ts" +} diff --git a/libs/utils/project.json b/libs/utils/project.json new file mode 100644 index 000000000..cb7577b50 --- /dev/null +++ b/libs/utils/project.json @@ -0,0 +1,32 @@ +{ + "name": "utils", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "libs/utils/src", + "projectType": "library", + "release": { + "version": { + "generatorOptions": { + "packageRoot": "dist/{projectRoot}", + "currentVersionResolver": "git-tag" + } + } + }, + "tags": [], + "targets": { + "build": { + "executor": "@nx/js:tsc", + "outputs": ["{options.outputPath}"], + "options": { + "outputPath": "dist/libs/utils", + "main": "libs/utils/src/index.ts", + "tsConfig": "libs/utils/tsconfig.lib.json", + "assets": ["libs/utils/*.md"] + } + }, + "nx-release-publish": { + "options": { + "packageRoot": "dist/{projectRoot}" + } + } + } +} diff --git a/libs/utils/src/index.ts b/libs/utils/src/index.ts new file mode 100644 index 000000000..842d335e7 --- /dev/null +++ b/libs/utils/src/index.ts @@ -0,0 +1 @@ +export * from './lib/utils' diff --git a/libs/utils/src/lib/utils.spec.ts b/libs/utils/src/lib/utils.spec.ts new file mode 100644 index 000000000..764ce6bca --- /dev/null +++ b/libs/utils/src/lib/utils.spec.ts @@ -0,0 +1,7 @@ +import { utils } from './utils' + +describe('utils', () => { + it('should work', () => { + expect(utils()).toEqual('utils') + }) +}) diff --git a/libs/utils/src/lib/utils.ts b/libs/utils/src/lib/utils.ts new file mode 100644 index 000000000..a5955a069 --- /dev/null +++ b/libs/utils/src/lib/utils.ts @@ -0,0 +1,3 @@ +export function utils(): string { + return 'utils' +} diff --git a/libs/utils/tsconfig.json b/libs/utils/tsconfig.json new file mode 100644 index 000000000..f45b571de --- /dev/null +++ b/libs/utils/tsconfig.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "ESNext", + "moduleResolution": "Bundler", + "strict": true, + "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noPropertyAccessFromIndexSignature": true, + "forceConsistentCasingInFileNames": true + }, + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } + ], + "files": [], + "include": [] +} diff --git a/libs/utils/tsconfig.lib.json b/libs/utils/tsconfig.lib.json new file mode 100644 index 000000000..bcf4ea7e2 --- /dev/null +++ b/libs/utils/tsconfig.lib.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "types": ["node"], + "declaration": true, + "outDir": "../../dist/out-tsc" + }, + "include": ["src/**/*.ts"], + "exclude": ["vite.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] +} diff --git a/libs/utils/tsconfig.spec.json b/libs/utils/tsconfig.spec.json new file mode 100644 index 000000000..983ad91ec --- /dev/null +++ b/libs/utils/tsconfig.spec.json @@ -0,0 +1,26 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "types": [ + "vitest/globals", + "vitest/importMeta", + "vite/client", + "node", + "vitest" + ], + "outDir": "../../dist/out-tsc" + }, + "include": [ + "vite.config.ts", + "vitest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" + ] +} diff --git a/libs/utils/vite.config.ts b/libs/utils/vite.config.ts new file mode 100644 index 000000000..0a5ffe532 --- /dev/null +++ b/libs/utils/vite.config.ts @@ -0,0 +1,24 @@ +import { defineConfig } from 'vite' + +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin' + +export default defineConfig({ + root: __dirname, + cacheDir: '../../node_modules/.vite/libs/utils', + + plugins: [nxViteTsPaths()], + + // Uncomment this if you are using workers. + // worker: { + // plugins: [ nxViteTsPaths() ], + // }, + + test: { + watch: false, + globals: true, + environment: 'node', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + reporters: ['default'], + coverage: { reportsDirectory: '../../coverage/libs/utils', provider: 'v8' }, + }, +}) diff --git a/tsconfig.base.json b/tsconfig.base.json index 05b906c81..0518f8bfa 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -13,7 +13,8 @@ "@cuhacking/api": ["libs/api/src/index.ts"], "@cuhacking/auth": ["libs/auth/src/index.ts"], "@cuhacking/db": ["libs/db/src/index.ts"], - "@cuhacking/env": ["libs/env/src/index.ts"] + "@cuhacking/env": ["libs/env/src/index.ts"], + "@cuhacking/utils": ["libs/utils/src/index.ts"] }, "resolveJsonModule": true, "strict": true, From a7a02885be210b8df0fd59f5628d822e969fa333 Mon Sep 17 00:00:00 2001 From: jowi Date: Sun, 15 Sep 2024 23:43:54 -0400 Subject: [PATCH 15/50] chore(deps): install lucia and drizzle adapter pnpm install lucia @lucia-auth/adapter-drizzle --- package.json | 2 + pnpm-lock.yaml | 374 ++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 375 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 3f9b646ea..5f5f720f0 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "postinstall": "pnpx playwright install" }, "dependencies": { + "@lucia-auth/adapter-drizzle": "^1.1.0", "@remix-run/node": "^2.8.1", "@remix-run/react": "^2.8.1", "@remix-run/serve": "^2.8.1", @@ -31,6 +32,7 @@ "fumadocs-mdx": "^9.0.0", "fumadocs-ui": "^13.0.4", "isbot": "^4.4.0", + "lucia": "^3.2.0", "next": "14.2.3", "postgres": "^3.4.4", "react": "18.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cf95c0b92..8fe40e80b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: dependencies: + '@lucia-auth/adapter-drizzle': + specifier: ^1.1.0 + version: 1.1.0(drizzle-orm@0.33.0(@types/react@18.3.1)(postgres@3.4.4)(react@18.3.1))(lucia@3.2.0) '@remix-run/node': specifier: ^2.8.1 version: 2.11.2(typescript@5.5.4) @@ -44,6 +47,9 @@ importers: isbot: specifier: ^4.4.0 version: 4.4.0 + lucia: + specifier: ^3.2.0 + version: 3.2.0 next: specifier: 14.2.3 version: 14.2.3(@babel/core@7.25.2)(@playwright/test@1.46.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.8) @@ -1144,9 +1150,15 @@ packages: '@drizzle-team/brocli@0.10.1': resolution: {integrity: sha512-AHy0vjc+n/4w/8Mif+w86qpppHuF3AyXbcWW+R/W7GNA3F5/p2nuhlkCJaTXSLZheB4l1rtHzOfr9A7NwoR/Zg==} + '@emnapi/core@0.45.0': + resolution: {integrity: sha512-DPWjcUDQkCeEM4VnljEOEcXdAD7pp8zSZsgOujk/LGIwCXWbXJngin+MO4zbH429lzeC3WbYLGjE2MaUOwzpyw==} + '@emnapi/core@1.2.0': resolution: {integrity: sha512-E7Vgw78I93we4ZWdYCb4DGAwRROGkMIXk7/y87UmANR+J6qsWusmC3gLt0H+O0KOt5e6O38U8oJamgbudrES/w==} + '@emnapi/runtime@0.45.0': + resolution: {integrity: sha512-Txumi3td7J4A/xTTwlssKieHKTGl3j4A1tglBx72auZ49YK7ePY6XZricgIg9mnZT4xPfA+UPCUdnhRuEFDL+w==} + '@emnapi/runtime@1.2.0': resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} @@ -1906,6 +1918,12 @@ packages: '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + '@lucia-auth/adapter-drizzle@1.1.0': + resolution: {integrity: sha512-iCTnZWvfI5lLZOdUHZYiXA1jaspIFEeo2extLxQ3DjP3uOVys7IPwBi7zezLIRu9dhro4H4Kji+7gSYyjcef2A==} + peerDependencies: + drizzle-orm: '>= 0.29 <1' + lucia: 3.x + '@mdx-js/mdx@2.3.0': resolution: {integrity: sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==} @@ -2033,6 +2051,180 @@ packages: cpu: [x64] os: [win32] + '@node-rs/argon2-android-arm-eabi@1.7.0': + resolution: {integrity: sha512-udDqkr5P9E+wYX1SZwAVPdyfYvaF4ry9Tm+R9LkfSHbzWH0uhU6zjIwNRp7m+n4gx691rk+lqqDAIP8RLKwbhg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@node-rs/argon2-android-arm64@1.7.0': + resolution: {integrity: sha512-s9j/G30xKUx8WU50WIhF0fIl1EdhBGq0RQ06lEhZ0Gi0ap8lhqbE2Bn5h3/G2D1k0Dx+yjeVVNmt/xOQIRG38A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@node-rs/argon2-darwin-arm64@1.7.0': + resolution: {integrity: sha512-ZIz4L6HGOB9U1kW23g+m7anGNuTZ0RuTw0vNp3o+2DWpb8u8rODq6A8tH4JRL79S+Co/Nq608m9uackN2pe0Rw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@node-rs/argon2-darwin-x64@1.7.0': + resolution: {integrity: sha512-5oi/pxqVhODW/pj1+3zElMTn/YukQeywPHHYDbcAW3KsojFjKySfhcJMd1DjKTc+CHQI+4lOxZzSUzK7mI14Hw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@node-rs/argon2-freebsd-x64@1.7.0': + resolution: {integrity: sha512-Ify08683hA4QVXYoIm5SUWOY5DPIT/CMB0CQT+IdxQAg/F+qp342+lUkeAtD5bvStQuCx/dFO3bnnzoe2clMhA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@node-rs/argon2-linux-arm-gnueabihf@1.7.0': + resolution: {integrity: sha512-7DjDZ1h5AUHAtRNjD19RnQatbhL+uuxBASuuXIBu4/w6Dx8n7YPxwTP4MXfsvuRgKuMWiOb/Ub/HJ3kXVCXRkg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@node-rs/argon2-linux-arm64-gnu@1.7.0': + resolution: {integrity: sha512-nJDoMP4Y3YcqGswE4DvP080w6O24RmnFEDnL0emdI8Nou17kNYBzP2546Nasx9GCyLzRcYQwZOUjrtUuQ+od2g==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@node-rs/argon2-linux-arm64-musl@1.7.0': + resolution: {integrity: sha512-BKWS8iVconhE3jrb9mj6t1J9vwUqQPpzCbUKxfTGJfc+kNL58F1SXHBoe2cDYGnHrFEHTY0YochzXoAfm4Dm/A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@node-rs/argon2-linux-x64-gnu@1.7.0': + resolution: {integrity: sha512-EmgqZOlf4Jurk/szW1iTsVISx25bKksVC5uttJDUloTgsAgIGReCpUUO1R24pBhu9ESJa47iv8NSf3yAfGv6jQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@node-rs/argon2-linux-x64-musl@1.7.0': + resolution: {integrity: sha512-/o1efYCYIxjfuoRYyBTi2Iy+1iFfhqHCvvVsnjNSgO1xWiWrX0Rrt/xXW5Zsl7vS2Y+yu8PL8KFWRzZhaVxfKA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@node-rs/argon2-wasm32-wasi@1.7.0': + resolution: {integrity: sha512-Evmk9VcxqnuwQftfAfYEr6YZYSPLzmKUsbFIMep5nTt9PT4XYRFAERj7wNYp+rOcBenF3X4xoB+LhwcOMTNE5w==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@node-rs/argon2-win32-arm64-msvc@1.7.0': + resolution: {integrity: sha512-qgsU7T004COWWpSA0tppDqDxbPLgg8FaU09krIJ7FBl71Sz8SFO40h7fDIjfbTT5w7u6mcaINMQ5bSHu75PCaA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@node-rs/argon2-win32-ia32-msvc@1.7.0': + resolution: {integrity: sha512-JGafwWYQ/HpZ3XSwP4adQ6W41pRvhcdXvpzIWtKvX+17+xEXAe2nmGWM6s27pVkg1iV2ZtoYLRDkOUoGqZkCcg==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@node-rs/argon2-win32-x64-msvc@1.7.0': + resolution: {integrity: sha512-9oq4ShyFakw8AG3mRls0AoCpxBFcimYx7+jvXeAf2OqKNO+mSA6eZ9z7KQeVCi0+SOEUYxMGf5UiGiDb9R6+9Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@node-rs/argon2@1.7.0': + resolution: {integrity: sha512-zfULc+/tmcWcxn+nHkbyY8vP3+MpEqKORbszt4UkpqZgBgDAAIYvuDN/zukfTgdmo6tmJKKVfzigZOPk4LlIog==} + engines: {node: '>= 10'} + + '@node-rs/bcrypt-android-arm-eabi@1.9.0': + resolution: {integrity: sha512-nOCFISGtnodGHNiLrG0WYLWr81qQzZKYfmwHc7muUeq+KY0sQXyHOwZk9OuNQAWv/lnntmtbwkwT0QNEmOyLvA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@node-rs/bcrypt-android-arm64@1.9.0': + resolution: {integrity: sha512-+ZrIAtigVmjYkqZQTThHVlz0+TG6D+GDHWhVKvR2DifjtqJ0i+mb9gjo++hN+fWEQdWNGxKCiBBjwgT4EcXd6A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@node-rs/bcrypt-darwin-arm64@1.9.0': + resolution: {integrity: sha512-CQiS+F9Pa0XozvkXR1g7uXE9QvBOPOplDg0iCCPRYTN9PqA5qYxhwe48G3o+v2UeQceNRrbnEtWuANm7JRqIhw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@node-rs/bcrypt-darwin-x64@1.9.0': + resolution: {integrity: sha512-4pTKGawYd7sNEjdJ7R/R67uwQH1VvwPZ0SSUMmeNHbxD5QlwAPXdDH11q22uzVXsvNFZ6nGQBg8No5OUGpx6Ug==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@node-rs/bcrypt-freebsd-x64@1.9.0': + resolution: {integrity: sha512-UmWzySX4BJhT/B8xmTru6iFif3h0Rpx3TqxRLCcbgmH43r7k5/9QuhpiyzpvKGpKHJCFNm4F3rC2wghvw5FCIg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@node-rs/bcrypt-linux-arm-gnueabihf@1.9.0': + resolution: {integrity: sha512-8qoX4PgBND2cVwsbajoAWo3NwdfJPEXgpCsZQZURz42oMjbGyhhSYbovBCskGU3EBLoC8RA2B1jFWooeYVn5BA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@node-rs/bcrypt-linux-arm64-gnu@1.9.0': + resolution: {integrity: sha512-TuAC6kx0SbcIA4mSEWPi+OCcDjTQUMl213v5gMNlttF+D4ieIZx6pPDGTaMO6M2PDHTeCG0CBzZl0Lu+9b0c7Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@node-rs/bcrypt-linux-arm64-musl@1.9.0': + resolution: {integrity: sha512-/sIvKDABOI8QOEnLD7hIj02BVaNOuCIWBKvxcJOt8+TuwJ6zmY1UI5kSv9d99WbiHjTp97wtAUbZQwauU4b9ew==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@node-rs/bcrypt-linux-x64-gnu@1.9.0': + resolution: {integrity: sha512-DyyhDHDsLBsCKz1tZ1hLvUZSc1DK0FU0v52jK6IBQxrj24WscSU9zZe7ie/V9kdmA4Ep57BfpWX8Dsa2JxGdgQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@node-rs/bcrypt-linux-x64-musl@1.9.0': + resolution: {integrity: sha512-duIiuqQ+Lew8ASSAYm6ZRqcmfBGWwsi81XLUwz86a2HR7Qv6V4yc3ZAUQovAikhjCsIqe8C11JlAZSK6+PlXYg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@node-rs/bcrypt-wasm32-wasi@1.9.0': + resolution: {integrity: sha512-ylaGmn9Wjwv/D5lxtawttx3H6Uu2WTTR7lWlRHGT6Ga/MB1Vj4OjSGUW8G8zIVnKuXpGbZ92pgHlt4HUpSLctw==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@node-rs/bcrypt-win32-arm64-msvc@1.9.0': + resolution: {integrity: sha512-2h86gF7QFyEzODuDFml/Dp1MSJoZjxJ4yyT2Erf4NkwsiA5MqowUhUsorRwZhX6+2CtlGa7orbwi13AKMsYndw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@node-rs/bcrypt-win32-ia32-msvc@1.9.0': + resolution: {integrity: sha512-kqxalCvhs4FkN0+gWWfa4Bdy2NQAkfiqq/CEf6mNXC13RSV673Ev9V8sRlQyNpCHCNkeXfOT9pgoBdJmMs9muA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@node-rs/bcrypt-win32-x64-msvc@1.9.0': + resolution: {integrity: sha512-2y0Tuo6ZAT2Cz8V7DHulSlv1Bip3zbzeXyeur+uR25IRNYXKvI/P99Zl85Fbuu/zzYAZRLLlGTRe6/9IHofe/w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@node-rs/bcrypt@1.9.0': + resolution: {integrity: sha512-u2OlIxW264bFUfvbFqDz9HZKFjwe8FHFtn7T/U8mYjPZ7DWYpbUB+/dkW/QgYfMSfR0ejkyuWaBBe0coW7/7ig==} + engines: {node: '>= 10'} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -3414,6 +3606,9 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@tybys/wasm-util@0.8.3': + resolution: {integrity: sha512-Z96T/L6dUFFxgFJ+pQtkPpne9q7i6kIPYCFnQBHSgSPV9idTsKfIhCss0h5iM9irweZCatkrdeP8yi5uM1eX6Q==} + '@tybys/wasm-util@0.9.0': resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} @@ -7896,6 +8091,9 @@ packages: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} engines: {node: '>=12'} + lucia@3.2.0: + resolution: {integrity: sha512-eXMxXwk6hqtjRTj4W/x3EnTUtAztLPm0p2N2TEBMDEbakDLXiYnDQ9z/qahjPdPdhPguQc+vwO0/88zIWxlpuw==} + lucide-react@0.427.0: resolution: {integrity: sha512-lv9s6c5BDF/ccuA0EgTdskTxIe11qpwBDmzRZHJAKtp8LTewAvDvOM+pTES9IpbBuTqkjiMhOmGpJ/CB+mKjFw==} peerDependencies: @@ -8054,6 +8252,9 @@ packages: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} + memfs-browser@3.5.10302: + resolution: {integrity: sha512-JJTc/nh3ig05O0gBBGZjTCPOyydaTxNF0uHYBrcc1gHNnO+KIHIvo0Y1FKCJsaei6FCl8C6xfQomXqu+cuzkIw==} + memfs@3.5.3: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} @@ -8829,6 +9030,9 @@ packages: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} + oslo@1.2.0: + resolution: {integrity: sha512-OoFX6rDsNcOQVAD2gQD/z03u4vEjWZLzJtwkmgfRF+KpQUXwdgEXErD7zNhyowmHwHefP+PM9Pw13pgpHMRlzw==} + outdent@0.8.0: resolution: {integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==} @@ -12546,11 +12750,21 @@ snapshots: '@drizzle-team/brocli@0.10.1': {} + '@emnapi/core@0.45.0': + dependencies: + tslib: 2.6.3 + optional: true + '@emnapi/core@1.2.0': dependencies: '@emnapi/wasi-threads': 1.0.1 tslib: 2.6.3 + '@emnapi/runtime@0.45.0': + dependencies: + tslib: 2.6.3 + optional: true + '@emnapi/runtime@1.2.0': dependencies: tslib: 2.6.3 @@ -13233,6 +13447,11 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} + '@lucia-auth/adapter-drizzle@1.1.0(drizzle-orm@0.33.0(@types/react@18.3.1)(postgres@3.4.4)(react@18.3.1))(lucia@3.2.0)': + dependencies: + drizzle-orm: 0.33.0(@types/react@18.3.1)(postgres@3.4.4)(react@18.3.1) + lucia: 3.2.0 + '@mdx-js/mdx@2.3.0': dependencies: '@types/estree-jsx': 1.0.5 @@ -13429,6 +13648,134 @@ snapshots: '@next/swc-win32-x64-msvc@14.2.3': optional: true + '@node-rs/argon2-android-arm-eabi@1.7.0': + optional: true + + '@node-rs/argon2-android-arm64@1.7.0': + optional: true + + '@node-rs/argon2-darwin-arm64@1.7.0': + optional: true + + '@node-rs/argon2-darwin-x64@1.7.0': + optional: true + + '@node-rs/argon2-freebsd-x64@1.7.0': + optional: true + + '@node-rs/argon2-linux-arm-gnueabihf@1.7.0': + optional: true + + '@node-rs/argon2-linux-arm64-gnu@1.7.0': + optional: true + + '@node-rs/argon2-linux-arm64-musl@1.7.0': + optional: true + + '@node-rs/argon2-linux-x64-gnu@1.7.0': + optional: true + + '@node-rs/argon2-linux-x64-musl@1.7.0': + optional: true + + '@node-rs/argon2-wasm32-wasi@1.7.0': + dependencies: + '@emnapi/core': 0.45.0 + '@emnapi/runtime': 0.45.0 + '@tybys/wasm-util': 0.8.3 + memfs-browser: 3.5.10302 + optional: true + + '@node-rs/argon2-win32-arm64-msvc@1.7.0': + optional: true + + '@node-rs/argon2-win32-ia32-msvc@1.7.0': + optional: true + + '@node-rs/argon2-win32-x64-msvc@1.7.0': + optional: true + + '@node-rs/argon2@1.7.0': + optionalDependencies: + '@node-rs/argon2-android-arm-eabi': 1.7.0 + '@node-rs/argon2-android-arm64': 1.7.0 + '@node-rs/argon2-darwin-arm64': 1.7.0 + '@node-rs/argon2-darwin-x64': 1.7.0 + '@node-rs/argon2-freebsd-x64': 1.7.0 + '@node-rs/argon2-linux-arm-gnueabihf': 1.7.0 + '@node-rs/argon2-linux-arm64-gnu': 1.7.0 + '@node-rs/argon2-linux-arm64-musl': 1.7.0 + '@node-rs/argon2-linux-x64-gnu': 1.7.0 + '@node-rs/argon2-linux-x64-musl': 1.7.0 + '@node-rs/argon2-wasm32-wasi': 1.7.0 + '@node-rs/argon2-win32-arm64-msvc': 1.7.0 + '@node-rs/argon2-win32-ia32-msvc': 1.7.0 + '@node-rs/argon2-win32-x64-msvc': 1.7.0 + + '@node-rs/bcrypt-android-arm-eabi@1.9.0': + optional: true + + '@node-rs/bcrypt-android-arm64@1.9.0': + optional: true + + '@node-rs/bcrypt-darwin-arm64@1.9.0': + optional: true + + '@node-rs/bcrypt-darwin-x64@1.9.0': + optional: true + + '@node-rs/bcrypt-freebsd-x64@1.9.0': + optional: true + + '@node-rs/bcrypt-linux-arm-gnueabihf@1.9.0': + optional: true + + '@node-rs/bcrypt-linux-arm64-gnu@1.9.0': + optional: true + + '@node-rs/bcrypt-linux-arm64-musl@1.9.0': + optional: true + + '@node-rs/bcrypt-linux-x64-gnu@1.9.0': + optional: true + + '@node-rs/bcrypt-linux-x64-musl@1.9.0': + optional: true + + '@node-rs/bcrypt-wasm32-wasi@1.9.0': + dependencies: + '@emnapi/core': 0.45.0 + '@emnapi/runtime': 0.45.0 + '@tybys/wasm-util': 0.8.3 + memfs-browser: 3.5.10302 + optional: true + + '@node-rs/bcrypt-win32-arm64-msvc@1.9.0': + optional: true + + '@node-rs/bcrypt-win32-ia32-msvc@1.9.0': + optional: true + + '@node-rs/bcrypt-win32-x64-msvc@1.9.0': + optional: true + + '@node-rs/bcrypt@1.9.0': + optionalDependencies: + '@node-rs/bcrypt-android-arm-eabi': 1.9.0 + '@node-rs/bcrypt-android-arm64': 1.9.0 + '@node-rs/bcrypt-darwin-arm64': 1.9.0 + '@node-rs/bcrypt-darwin-x64': 1.9.0 + '@node-rs/bcrypt-freebsd-x64': 1.9.0 + '@node-rs/bcrypt-linux-arm-gnueabihf': 1.9.0 + '@node-rs/bcrypt-linux-arm64-gnu': 1.9.0 + '@node-rs/bcrypt-linux-arm64-musl': 1.9.0 + '@node-rs/bcrypt-linux-x64-gnu': 1.9.0 + '@node-rs/bcrypt-linux-x64-musl': 1.9.0 + '@node-rs/bcrypt-wasm32-wasi': 1.9.0 + '@node-rs/bcrypt-win32-arm64-msvc': 1.9.0 + '@node-rs/bcrypt-win32-ia32-msvc': 1.9.0 + '@node-rs/bcrypt-win32-x64-msvc': 1.9.0 + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -13480,6 +13827,12 @@ snapshots: transitivePeerDependencies: - nx + '@nrwl/devkit@19.6.0(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))': + dependencies: + '@nx/devkit': 19.6.0(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) + transitivePeerDependencies: + - nx + '@nrwl/devkit@19.6.0(nx@19.6.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))': dependencies: '@nx/devkit': 19.6.0(nx@19.6.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) @@ -13774,7 +14127,7 @@ snapshots: '@nx/devkit@19.6.0(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12)))': dependencies: - '@nrwl/devkit': 19.6.0(nx@19.6.0(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) + '@nrwl/devkit': 19.6.0(nx@19.5.7(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.12))(@swc/types@0.1.12)(typescript@5.5.4))(@swc/core@1.5.29(@swc/helpers@0.5.12))) ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.2 @@ -15569,6 +15922,11 @@ snapshots: '@tsconfig/node16@1.0.4': {} + '@tybys/wasm-util@0.8.3': + dependencies: + tslib: 2.6.3 + optional: true + '@tybys/wasm-util@0.9.0': dependencies: tslib: 2.6.3 @@ -21253,6 +21611,10 @@ snapshots: lru-cache@7.18.3: {} + lucia@3.2.0: + dependencies: + oslo: 1.2.0 + lucide-react@0.427.0(react@18.3.1): dependencies: react: 18.3.1 @@ -21609,6 +21971,11 @@ snapshots: media-typer@0.3.0: {} + memfs-browser@3.5.10302: + dependencies: + memfs: 3.5.3 + optional: true + memfs@3.5.3: dependencies: fs-monkey: 1.0.6 @@ -22692,6 +23059,11 @@ snapshots: os-tmpdir@1.0.2: {} + oslo@1.2.0: + dependencies: + '@node-rs/argon2': 1.7.0 + '@node-rs/bcrypt': 1.9.0 + outdent@0.8.0: {} p-each-series@3.0.0: {} From 9f5c189d5bd30d552c1f70fb1f56902ed928ac27 Mon Sep 17 00:00:00 2001 From: jowi Date: Mon, 16 Sep 2024 22:27:25 -0400 Subject: [PATCH 16/50] feat(api/api): create initial user route --- libs/api/src/index.ts | 13 +++++++++++++ libs/api/src/routes/user/index.ts | 9 +++++++++ 2 files changed, 22 insertions(+) create mode 100644 libs/api/src/routes/user/index.ts diff --git a/libs/api/src/index.ts b/libs/api/src/index.ts index 1196e46c3..cbd23e572 100644 --- a/libs/api/src/index.ts +++ b/libs/api/src/index.ts @@ -1 +1,14 @@ +import { userRouter } from './routes/user' +import { createCallerFactory, createRouter } from './trpc' + export * from './lib/api' + +export const appRouter = createRouter({ + user: userRouter, +}) + +export type AppRouter = typeof appRouter + +export const createCaller = createCallerFactory(appRouter) + +export { createTRPCContext } from './trpc' diff --git a/libs/api/src/routes/user/index.ts b/libs/api/src/routes/user/index.ts new file mode 100644 index 000000000..738f7f30f --- /dev/null +++ b/libs/api/src/routes/user/index.ts @@ -0,0 +1,9 @@ +import { createRouter, publicProcedure } from '../../trpc' + +export const userRouter = createRouter({ + hello: publicProcedure.query(({ ctx }: { ctx: any }) => { + return { + message: `Hello, ${ctx?.user?.name ?? 'world'} from tRPC!`, + } + }), +}) From 1a75c1dbf2aaa13a2ed844204f8493850f10156b Mon Sep 17 00:00:00 2001 From: jowi Date: Mon, 16 Sep 2024 22:28:14 -0400 Subject: [PATCH 17/50] feat(api/auth): create initial auth library --- libs/api/src/trpc.ts | 49 +++++++++++++++++++++++++++++++++ libs/auth/src/actions/logout.ts | 32 +++++++++++++++++++++ libs/auth/src/auth.ts | 40 +++++++++++++++++++++++++++ libs/auth/src/index.ts | 3 +- libs/auth/src/lucia.ts | 33 ++++++++++++++++++++++ 5 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 libs/api/src/trpc.ts create mode 100644 libs/auth/src/actions/logout.ts create mode 100644 libs/auth/src/auth.ts create mode 100644 libs/auth/src/lucia.ts diff --git a/libs/api/src/trpc.ts b/libs/api/src/trpc.ts new file mode 100644 index 000000000..690e4e790 --- /dev/null +++ b/libs/api/src/trpc.ts @@ -0,0 +1,49 @@ +import { TRPCError, initTRPC } from '@trpc/server' +import superjson from 'superjson' +import { ZodError } from 'zod' + +import { auth } from '@cuhacking/auth' +import { db } from '@cuhacking/db' + +export async function createTRPCContext(opts: { headers: Headers }) { + const { session, user } = await auth() + + return { + db, + session, + user, + ...opts, + } +} + +const t = initTRPC.context().create({ + transformer: superjson, + errorFormatter({ shape, error }) { + return { + ...shape, + data: { + ...shape.data, + zodError: + error.cause instanceof ZodError ? error.cause.flatten() : null, + }, + } + }, +}) +export const createCallerFactory = t.createCallerFactory + +export const createRouter = t.router + +export const publicProcedure = t.procedure + +export const protectedProcedure = t.procedure.use(({ ctx, next }) => { + if (!ctx.session || !ctx.user) { + throw new TRPCError({ code: 'UNAUTHORIZED' }) + } + + return next({ + ctx: { + session: { ...ctx.session }, + user: { ...ctx.user }, + }, + }) +}) diff --git a/libs/auth/src/actions/logout.ts b/libs/auth/src/actions/logout.ts new file mode 100644 index 000000000..0a173813f --- /dev/null +++ b/libs/auth/src/actions/logout.ts @@ -0,0 +1,32 @@ +'use server' + +import { cookies } from 'next/headers' +import { redirect } from 'next/navigation' + +import { auth } from '../auth' +import { lucia } from '../lucia' + +/** + * This function logs out the user. + * @returns The response. + */ +export async function logout() { + const { session } = await auth() + if (!session) { + return { + error: 'Unauthorized', + } + } + + await lucia.invalidateSession(session.id) + + const sessionCookie = lucia.createBlankSessionCookie() + + cookies().set( + sessionCookie.name, + sessionCookie.value, + sessionCookie.attributes, + ) + + return redirect('/login') +} diff --git a/libs/auth/src/auth.ts b/libs/auth/src/auth.ts new file mode 100644 index 000000000..8561ae96a --- /dev/null +++ b/libs/auth/src/auth.ts @@ -0,0 +1,40 @@ +import { cache } from 'react' +import { cookies } from 'next/headers' + +import type { Session, User } from 'lucia' + +import { lucia } from './lucia' + +export async function uncachedAuth(): Promise< + { user: User, session: Session } | { user: null, session: null } +> { + const sessionId = cookies().get(lucia.sessionCookieName)?.value ?? null + if (!sessionId) { + return { user: null, session: null } + } + const result = await lucia.validateSession(sessionId) + try { + if (result.session?.fresh) { + const sessionCookie = lucia.createSessionCookie(result.session.id) + cookies().set( + sessionCookie.name, + sessionCookie.value, + sessionCookie.attributes, + ) + } + if (!result.session) { + const sessionCookie = lucia.createBlankSessionCookie() + cookies().set( + sessionCookie.name, + sessionCookie.value, + sessionCookie.attributes, + ) + } + } + catch { + console.error('Failed to set session cookie') + } + return result +} + +export const auth = cache(uncachedAuth) diff --git a/libs/auth/src/index.ts b/libs/auth/src/index.ts index 6f06caaa8..6fe12b00a 100644 --- a/libs/auth/src/index.ts +++ b/libs/auth/src/index.ts @@ -1 +1,2 @@ -export * from './lib/auth' +export * from './lucia' +export * from './auth' diff --git a/libs/auth/src/lucia.ts b/libs/auth/src/lucia.ts new file mode 100644 index 000000000..7c2896378 --- /dev/null +++ b/libs/auth/src/lucia.ts @@ -0,0 +1,33 @@ +import { DrizzlePostgreSQLAdapter } from '@lucia-auth/adapter-drizzle' +import { Lucia } from 'lucia' + +import { db, session, user } from '@cuhacking/db' +import { envWebsiteServer } from '@cuhacking/env' + +const adapter = new DrizzlePostgreSQLAdapter(db, session, user) + +export const lucia = new Lucia(adapter, { + sessionCookie: { + attributes: { + secure: envWebsiteServer.NODE_ENV === 'production', + }, + }, + getUserAttributes: (attributes: any) => { + return { + name: attributes.name, + email: attributes.email, + avatarUrl: attributes.avatarUrl, + } + }, +}) + +declare module 'lucia' { + interface Register { + Lucia: typeof lucia + DatabaseUserAttributes: { + name?: string + email: string + avatarUrl?: string + } + } +} From c7b2fd1006d873d71b411a20496aa9e146da6c7e Mon Sep 17 00:00:00 2001 From: jowi Date: Wed, 18 Sep 2024 20:23:24 -0400 Subject: [PATCH 18/50] chore(repo): add env to gitignore Ignore all .env files expect .env.example for safety reasons --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitignore b/.gitignore index 9fe5af7c2..ca5c4e9d2 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,8 @@ Thumbs.db # Next.js .next out + +# Environment variables files +**/*.env +**/*.env.* +!**/*.env.example \ No newline at end of file From 2e618be1fdd8abb17df5ca7e039a688d61afbc58 Mon Sep 17 00:00:00 2001 From: jowi Date: Tue, 24 Sep 2024 16:04:54 -0400 Subject: [PATCH 19/50] fix(config): make libraries public --- libs/api/package.json | 1 + libs/auth/package.json | 1 + libs/db/package.json | 1 + libs/env/package.json | 1 + libs/utils/package.json | 1 + 5 files changed, 5 insertions(+) diff --git a/libs/api/package.json b/libs/api/package.json index c2eccf6b0..74904bbd6 100644 --- a/libs/api/package.json +++ b/libs/api/package.json @@ -2,6 +2,7 @@ "name": "@cuhacking/api", "type": "module", "version": "0.0.1", + "private": "false", "main": "./src/index.js", "dependencies": { "tslib": "^2.3.0" diff --git a/libs/auth/package.json b/libs/auth/package.json index 8ae955969..61f29284d 100644 --- a/libs/auth/package.json +++ b/libs/auth/package.json @@ -2,6 +2,7 @@ "name": "@cuhacking/auth", "type": "module", "version": "0.0.1", + "private": "false", "main": "./src/index.js", "dependencies": { "tslib": "^2.3.0" diff --git a/libs/db/package.json b/libs/db/package.json index d6c5928aa..e10a2a93b 100644 --- a/libs/db/package.json +++ b/libs/db/package.json @@ -2,6 +2,7 @@ "name": "@cuhacking/db", "type": "module", "version": "0.0.1", + "private": "false", "main": "./src/index.js", "dependencies": { "tslib": "^2.3.0" diff --git a/libs/env/package.json b/libs/env/package.json index e28cb24ad..e76161f41 100644 --- a/libs/env/package.json +++ b/libs/env/package.json @@ -2,6 +2,7 @@ "name": "@cuhacking/env", "type": "module", "version": "0.0.1", + "private": "false", "main": "./src/index.js", "dependencies": { "tslib": "^2.3.0" diff --git a/libs/utils/package.json b/libs/utils/package.json index d29ab57f8..0a5119add 100644 --- a/libs/utils/package.json +++ b/libs/utils/package.json @@ -2,6 +2,7 @@ "name": "@cuhacking/utils", "type": "module", "version": "0.0.1", + "private": "false", "main": "./src/index.js", "dependencies": {}, "typings": "./src/index.d.ts" From 3a9d0f7d6a4079f7cf712ec641df6cd6aee48e2a Mon Sep 17 00:00:00 2001 From: jowi Date: Tue, 24 Sep 2024 17:09:50 -0400 Subject: [PATCH 20/50] chore(config): make library builds require builds of used dependencies --- libs/api/project.json | 3 ++- libs/auth/project.json | 3 ++- libs/db/project.json | 53 +++++++++++++++++++++++++++++++++++++++++ libs/env/project.json | 3 ++- libs/utils/project.json | 3 ++- 5 files changed, 61 insertions(+), 4 deletions(-) diff --git a/libs/api/project.json b/libs/api/project.json index f29cd496f..c37299291 100644 --- a/libs/api/project.json +++ b/libs/api/project.json @@ -26,7 +26,8 @@ "nx-release-publish": { "options": { "packageRoot": "dist/{projectRoot}" - } + }, + "dependsOn": ["^build"] } } } diff --git a/libs/auth/project.json b/libs/auth/project.json index 7978299c0..c26668c11 100644 --- a/libs/auth/project.json +++ b/libs/auth/project.json @@ -26,7 +26,8 @@ "nx-release-publish": { "options": { "packageRoot": "dist/{projectRoot}" - } + }, + "dependsOn": ["^build"] } } } diff --git a/libs/db/project.json b/libs/db/project.json index 0c6bb3ca6..acbb7dc95 100644 --- a/libs/db/project.json +++ b/libs/db/project.json @@ -26,6 +26,59 @@ "nx-release-publish": { "options": { "packageRoot": "dist/{projectRoot}" + }, + "dependsOn": ["^build"] + }, + "check": { + "executor": "nx:run-commands", + "options": { + "command": "drizzle-kit check --config {projectRoot}/drizzle.config.ts" + } + }, + "generate": { + "executor": "nx:run-commands", + "options": { + "command": "drizzle-kit generate --config {projectRoot}/drizzle.config.ts" + }, + "outputs": ["{workspaceRoot}/dist/libs/db"], + "cache": true + }, + "migrate": { + "executor": "nx:run-commands", + "options": { + "command": "drizzle-kit migrate --config {projectRoot}/drizzle.config.ts" + }, + "outputs": ["{workspaceRoot}/dist/libs/db"], + "cache": true + }, + "migrate:drop": { + "executor": "nx:run-commands", + "options": { + "command": "drizzle-kit drop --config {projectRoot}/drizzle.config.ts" + } + }, + "pull": { + "executor": "nx:run-commands", + "options": { + "command": "drizzle-kit introspect --config {projectRoot}/drizzle.config.ts" + } + }, + "push": { + "executor": "nx:run-commands", + "options": { + "command": "drizzle-kit push --config {projectRoot}/drizzle.config.ts" + } + }, + "studio": { + "executor": "nx:run-commands", + "options": { + "command": "drizzle-kit studio --config {projectRoot}/drizzle.config.ts" + } + }, + "up": { + "executor": "nx:run-commands", + "options": { + "command": "drizzle-kit up --config {projectRoot}/drizzle.config.ts" } } } diff --git a/libs/env/project.json b/libs/env/project.json index 6c1365c55..2e61c7965 100644 --- a/libs/env/project.json +++ b/libs/env/project.json @@ -26,7 +26,8 @@ "nx-release-publish": { "options": { "packageRoot": "dist/{projectRoot}" - } + }, + "dependsOn": ["^build"] } } } diff --git a/libs/utils/project.json b/libs/utils/project.json index cb7577b50..0c66a70c2 100644 --- a/libs/utils/project.json +++ b/libs/utils/project.json @@ -26,7 +26,8 @@ "nx-release-publish": { "options": { "packageRoot": "dist/{projectRoot}" - } + }, + "dependsOn": ["^build"] } } } From 151eb9ee116063ad6a3cba265d6aa8ed2aa5e658 Mon Sep 17 00:00:00 2001 From: jowi Date: Tue, 24 Sep 2024 17:12:39 -0400 Subject: [PATCH 21/50] feat(api/db): create docker-compose with postgres database --- docker-compose.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..4bae8da1f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,19 @@ +services: + db: + image: postgres:13 + container_name: db + environment: + - POSTGRES_USER=postgres + - POSTGRES_PASSWORD=password + - POSTGRES_DB=hackathon + networks: + - hackathon-network + ports: + - '5432:5432' + volumes: + - db-data:/var/lib/postgresql/data +networks: + hackathon-network: + driver: bridge +volumes: + db-data: From 2a3badb020fd47597adb453a431ff18d08e56d55 Mon Sep 17 00:00:00 2001 From: jowi Date: Fri, 27 Sep 2024 23:54:50 -0400 Subject: [PATCH 22/50] fix(api/db): drizzle schema from monorepo root --- libs/db/drizzle.config.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libs/db/drizzle.config.ts b/libs/db/drizzle.config.ts index 5e2a3e49c..673994860 100644 --- a/libs/db/drizzle.config.ts +++ b/libs/db/drizzle.config.ts @@ -1,12 +1,12 @@ -import type { Config } from 'drizzle-kit' +import { defineConfig } from 'drizzle-kit' import { envWebsiteDb } from '@cuhacking/env' -export default { +export default defineConfig({ dialect: 'postgresql', - schema: './src/schema/index.ts', + schema: './libs/db/src/schema/index.ts', out: './drizzle', dbCredentials: { url: envWebsiteDb.DATABASE_URL, }, -} satisfies Config +}) From 26743aae44bf88fc7de4ff26c4971ce883b8e720 Mon Sep 17 00:00:00 2001 From: jowi Date: Fri, 27 Sep 2024 23:55:21 -0400 Subject: [PATCH 23/50] feat(api/db): create initial database schemas --- drizzle/0000_amusing_talisman.sql | 23 ++++++++ drizzle/meta/0000_snapshot.json | 96 +++++++++++++++++++++++++++++++ drizzle/meta/_journal.json | 13 +++++ drizzle/relations.ts | 13 +++++ drizzle/schema.ts | 23 ++++++++ 5 files changed, 168 insertions(+) create mode 100644 drizzle/0000_amusing_talisman.sql create mode 100644 drizzle/meta/0000_snapshot.json create mode 100644 drizzle/meta/_journal.json create mode 100644 drizzle/relations.ts create mode 100644 drizzle/schema.ts diff --git a/drizzle/0000_amusing_talisman.sql b/drizzle/0000_amusing_talisman.sql new file mode 100644 index 000000000..40c4041d3 --- /dev/null +++ b/drizzle/0000_amusing_talisman.sql @@ -0,0 +1,23 @@ +-- Current sql file was generated after introspecting the database +-- If you want to run this migration please uncomment this code before executing migrations +/* +CREATE TABLE IF NOT EXISTS "user" ( + "id" text PRIMARY KEY NOT NULL, + "name" text, + "email" text NOT NULL, + "avatar_url" text +); +--> statement-breakpoint +CREATE TABLE IF NOT EXISTS "session" ( + "id" text PRIMARY KEY NOT NULL, + "user_id" text NOT NULL, + "expires_at" timestamp with time zone NOT NULL +); +--> statement-breakpoint +DO $$ BEGIN + ALTER TABLE "session" ADD CONSTRAINT "session_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE no action ON UPDATE no action; +EXCEPTION + WHEN duplicate_object THEN null; +END $$; + +*/ \ No newline at end of file diff --git a/drizzle/meta/0000_snapshot.json b/drizzle/meta/0000_snapshot.json new file mode 100644 index 000000000..7ffb99a8b --- /dev/null +++ b/drizzle/meta/0000_snapshot.json @@ -0,0 +1,96 @@ +{ + "id": "00000000-0000-0000-0000-000000000000", + "prevId": "", + "version": "7", + "dialect": "postgresql", + "tables": { + "public.user": { + "name": "user", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "avatar_url": { + "name": "avatar_url", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "public.session": { + "name": "session", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "session_user_id_user_id_fk": { + "name": "session_user_id_user_id_fk", + "tableFrom": "session", + "tableTo": "user", + "schemaTo": "public", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + } + }, + "enums": {}, + "schemas": {}, + "sequences": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "tables": {} + } +} diff --git a/drizzle/meta/_journal.json b/drizzle/meta/_journal.json new file mode 100644 index 000000000..043265bb9 --- /dev/null +++ b/drizzle/meta/_journal.json @@ -0,0 +1,13 @@ +{ + "version": "7", + "dialect": "postgresql", + "entries": [ + { + "idx": 0, + "version": "7", + "when": 1727212944998, + "tag": "0000_amusing_talisman", + "breakpoints": true + } + ] +} diff --git a/drizzle/relations.ts b/drizzle/relations.ts new file mode 100644 index 000000000..a9263b188 --- /dev/null +++ b/drizzle/relations.ts @@ -0,0 +1,13 @@ +import { relations } from 'drizzle-orm/relations' +import { session, user } from './schema' + +export const sessionRelations = relations(session, ({ one }) => ({ + user: one(user, { + fields: [session.userId], + references: [user.id], + }), +})) + +export const userRelations = relations(user, ({ many }) => ({ + sessions: many(session), +})) diff --git a/drizzle/schema.ts b/drizzle/schema.ts new file mode 100644 index 000000000..ec53f077d --- /dev/null +++ b/drizzle/schema.ts @@ -0,0 +1,23 @@ +import { foreignKey, pgTable, text, timestamp } from 'drizzle-orm/pg-core' +import { sql } from 'drizzle-orm' + +export const user = pgTable('user', { + id: text('id').primaryKey().notNull(), + name: text('name'), + email: text('email').notNull(), + avatarUrl: text('avatar_url'), +}) + +export const session = pgTable('session', { + id: text('id').primaryKey().notNull(), + userId: text('user_id').notNull(), + expiresAt: timestamp('expires_at', { withTimezone: true, mode: 'string' }).notNull(), +}, (table) => { + return { + sessionUserIdUserIdFk: foreignKey({ + columns: [table.userId], + foreignColumns: [user.id], + name: 'session_user_id_user_id_fk', + }), + } +}) From f9e10b4825ed5c1c6df9b4d2bf0417fe155519c7 Mon Sep 17 00:00:00 2001 From: jowi Date: Fri, 27 Sep 2024 23:57:05 -0400 Subject: [PATCH 24/50] feat(api/api.auth): install required libraried for trpc api & auth pnpm add @tanstack/react-query @trpc/react-query --- package.json | 2 ++ pnpm-lock.yaml | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/package.json b/package.json index 5f5f720f0..a13d5d4fd 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,9 @@ "@remix-run/react": "^2.8.1", "@remix-run/serve": "^2.8.1", "@t3-oss/env-nextjs": "^0.11.1", + "@tanstack/react-query": "^5.56.2", "@trpc/client": "11.0.0-rc.502", + "@trpc/react-query": "next", "@trpc/server": "11.0.0-rc.502", "drizzle-orm": "^0.33.0", "fumadocs-core": "^13.0.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8fe40e80b..c9479f868 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,9 +23,15 @@ importers: '@t3-oss/env-nextjs': specifier: ^0.11.1 version: 0.11.1(typescript@5.5.4)(zod@3.23.8) + '@tanstack/react-query': + specifier: ^5.56.2 + version: 5.56.2(react@18.3.1) '@trpc/client': specifier: 11.0.0-rc.502 version: 11.0.0-rc.502(@trpc/server@11.0.0-rc.502) + '@trpc/react-query': + specifier: next + version: 11.0.0-rc.502(@tanstack/react-query@5.56.2(react@18.3.1))(@trpc/client@11.0.0-rc.502(@trpc/server@11.0.0-rc.502))(@trpc/server@11.0.0-rc.502)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@trpc/server': specifier: 11.0.0-rc.502 version: 11.0.0-rc.502 @@ -3536,6 +3542,14 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || insiders' + '@tanstack/query-core@5.56.2': + resolution: {integrity: sha512-gor0RI3/R5rVV3gXfddh1MM+hgl0Z4G7tj6Xxpq6p2I03NGPaJ8dITY9Gz05zYYb/EJq9vPas/T4wn9EaDPd4Q==} + + '@tanstack/react-query@5.56.2': + resolution: {integrity: sha512-SR0GzHVo6yzhN72pnRhkEFRAHMsUo5ZPzAxfTMvUxFIDVS6W9LYUp6nXW3fcHVdg0ZJl8opSH85jqahvm6DSVg==} + peerDependencies: + react: ^18 || ^19 + '@testing-library/dom@10.4.0': resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} engines: {node: '>=18'} @@ -3587,6 +3601,15 @@ packages: peerDependencies: '@trpc/server': 11.0.0-rc.502+2a8c56027 + '@trpc/react-query@11.0.0-rc.502': + resolution: {integrity: sha512-aWZZGFTxERXOzI0cb2zYoJQyLrnfJz7sqJVTR4/5UJQ1eCRdu7mFnni6rAlcAHI4r2iA+2xtBQ74JPlaVp5krg==} + peerDependencies: + '@tanstack/react-query': ^5.49.2 + '@trpc/client': 11.0.0-rc.502+2a8c56027 + '@trpc/server': 11.0.0-rc.502+2a8c56027 + react: '>=18.2.0' + react-dom: '>=18.2.0' + '@trpc/server@11.0.0-rc.502': resolution: {integrity: sha512-n6B8Q/UqF+hFXyCTXq9AWSn6EkXBbVo/Bs7/QzZxe5KD5CdnBomC7A1y6Qr+i0eiOWwTHJZQ0az+gJetb2fdxw==} @@ -15863,6 +15886,13 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 3.4.3(ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.12))(@types/node@18.16.9)(typescript@5.5.4)) + '@tanstack/query-core@5.56.2': {} + + '@tanstack/react-query@5.56.2(react@18.3.1)': + dependencies: + '@tanstack/query-core': 5.56.2 + react: 18.3.1 + '@testing-library/dom@10.4.0': dependencies: '@babel/code-frame': 7.24.7 @@ -15910,6 +15940,14 @@ snapshots: dependencies: '@trpc/server': 11.0.0-rc.502 + '@trpc/react-query@11.0.0-rc.502(@tanstack/react-query@5.56.2(react@18.3.1))(@trpc/client@11.0.0-rc.502(@trpc/server@11.0.0-rc.502))(@trpc/server@11.0.0-rc.502)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@tanstack/react-query': 5.56.2(react@18.3.1) + '@trpc/client': 11.0.0-rc.502(@trpc/server@11.0.0-rc.502) + '@trpc/server': 11.0.0-rc.502 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + '@trpc/server@11.0.0-rc.502': {} '@trysound/sax@0.2.0': {} From 8703891b40bd6ce4ed6dc8cb3c8ce3a4b417cc48 Mon Sep 17 00:00:00 2001 From: jowi Date: Sat, 28 Sep 2024 00:07:05 -0400 Subject: [PATCH 25/50] feat(api/api.auth): implement trpc communication from portal - Create context and handler (route.ts) - Create client querying client, typesafe infered inputs & outputs, TRPCReactProvider wrapper (react.tsx) - Create api object (trpc.ts) - Add TRPCReactProvider wrapper in layout (layout.tsx) - Fetch test query 'hello' (page.tsx) --- apps/portal/src/app/api/trpc/[trpc]/route.ts | 30 +++++++++ apps/portal/src/app/layout.tsx | 7 +- apps/portal/src/app/page.tsx | 9 ++- apps/portal/src/lib/trpc/react.tsx | 68 ++++++++++++++++++++ apps/portal/src/lib/trpc/server.ts | 17 +++++ apps/portal/src/lib/trpc/trpc.ts | 5 ++ 6 files changed, 133 insertions(+), 3 deletions(-) create mode 100644 apps/portal/src/app/api/trpc/[trpc]/route.ts create mode 100644 apps/portal/src/lib/trpc/react.tsx create mode 100644 apps/portal/src/lib/trpc/server.ts create mode 100644 apps/portal/src/lib/trpc/trpc.ts diff --git a/apps/portal/src/app/api/trpc/[trpc]/route.ts b/apps/portal/src/app/api/trpc/[trpc]/route.ts new file mode 100644 index 000000000..d8f1c200d --- /dev/null +++ b/apps/portal/src/app/api/trpc/[trpc]/route.ts @@ -0,0 +1,30 @@ +import type { NextRequest } from 'next/server' + +import { fetchRequestHandler } from '@trpc/server/adapters/fetch' + +import { appRouter, createTRPCContext } from '@cuhacking/api' +import { envWebsiteServer } from '@cuhacking/env' + +async function createContext(req: NextRequest) { + return createTRPCContext({ + headers: req.headers, + }) +} + +function handler(req: NextRequest) { + return fetchRequestHandler({ + endpoint: '/api/trpc', + req, + router: appRouter, + createContext: () => createContext(req), + onError: ({ path, error }) => { + if (envWebsiteServer.NODE_ENV === 'development') { + console.error( + `❌ tRPC failed on ${path ?? ''}: ${error.message}`, + ) + } + }, + }) +} + +export { handler as GET, handler as POST } diff --git a/apps/portal/src/app/layout.tsx b/apps/portal/src/app/layout.tsx index a5425bfb0..a46c85ee3 100644 --- a/apps/portal/src/app/layout.tsx +++ b/apps/portal/src/app/layout.tsx @@ -1,3 +1,4 @@ +import { TRPCReactProvider } from '../lib/trpc/react' import './global.css' export const metadata = { @@ -12,7 +13,11 @@ export default function RootLayout({ }) { return ( - {children} + + + {children} + + ) } diff --git a/apps/portal/src/app/page.tsx b/apps/portal/src/app/page.tsx index 397f41842..c9b1c9d51 100644 --- a/apps/portal/src/app/page.tsx +++ b/apps/portal/src/app/page.tsx @@ -1,9 +1,13 @@ -export default function Index() { +import { api } from '../lib/trpc/server' + +export default async function Index() { /* * Replace the elements below with your own. - * * Note: The corresponding styles are in the ./index.tailwind file. */ + + const hello = await api.user.hello() + return (
@@ -12,6 +16,7 @@ export default function Index() {

Hello there, Welcome portal πŸ‘‹ + {hello.message}

diff --git a/apps/portal/src/lib/trpc/react.tsx b/apps/portal/src/lib/trpc/react.tsx new file mode 100644 index 000000000..3732ad8d8 --- /dev/null +++ b/apps/portal/src/lib/trpc/react.tsx @@ -0,0 +1,68 @@ +'use client' + +/* eslint-disable unicorn/prefer-node-protocol */ +import process from 'process' + +import { useState } from 'react' + +import { QueryClient, QueryClientProvider } from '@tanstack/react-query' +import { loggerLink, unstable_httpBatchStreamLink } from '@trpc/client' +import type { inferRouterInputs, inferRouterOutputs } from '@trpc/server' +import superjson from 'superjson' + +import type { AppRouter } from '@cuhacking/api' +import { getBaseUrl } from '@cuhacking/utils' + +import { api } from './trpc' + +const createQueryClient = () => new QueryClient() + +let clientQueryClientSingleton: QueryClient | undefined +function getQueryClient() { + if (typeof window === 'undefined') { + return createQueryClient() + } + return (clientQueryClientSingleton ??= createQueryClient()) +} + +export type RouterInputs = inferRouterInputs +export type RouterOutputs = inferRouterOutputs + +/** + * This component is used to initialize the trpc & react-query pairing on the client side. + * @param props The props to the component. + * @param props.children The children to render. + * @returns react-query and trpc providers wrapper around the children. + */ +export function TRPCReactProvider({ children }: { children: React.ReactNode }) { + const queryClient = getQueryClient() + + const [trpcClient] = useState(() => + api.createClient({ + links: [ + loggerLink({ + enabled: op => + process.env.NODE_ENV === 'development' + || (op.direction === 'down' && op.result instanceof Error), + }), + unstable_httpBatchStreamLink({ + transformer: superjson, + url: `${getBaseUrl()}/api/trpc`, + headers: () => { + const headers = new Headers() + headers.set('x-trpc-source', 'nextjs-react') + return headers + }, + }), + ], + }), + ) + + return ( + + + {children} + + + ) +} diff --git a/apps/portal/src/lib/trpc/server.ts b/apps/portal/src/lib/trpc/server.ts new file mode 100644 index 000000000..446a21081 --- /dev/null +++ b/apps/portal/src/lib/trpc/server.ts @@ -0,0 +1,17 @@ +import 'server-only' + +import { cache } from 'react' +import { headers } from 'next/headers' + +import { createCaller, createTRPCContext } from '@cuhacking/api' + +const createContext = cache(async () => { + const heads = new Headers(headers()) + heads.set('x-trpc-source', 'rsc') + + return createTRPCContext({ + headers: heads, + }) +}) + +export const api = createCaller(createContext) diff --git a/apps/portal/src/lib/trpc/trpc.ts b/apps/portal/src/lib/trpc/trpc.ts new file mode 100644 index 000000000..6df4f2005 --- /dev/null +++ b/apps/portal/src/lib/trpc/trpc.ts @@ -0,0 +1,5 @@ +import type { AppRouter } from '@cuhacking/api' + +import { createTRPCReact } from '@trpc/react-query' + +export const api = createTRPCReact() From a02ed390281fc2a76e4084d60706baa630202f6b Mon Sep 17 00:00:00 2001 From: jowi Date: Fri, 27 Sep 2024 23:58:45 -0400 Subject: [PATCH 26/50] fix(api/db): change monorepo moduleResolution from Node to Bundler Bundler uses the app or libraries' moduleResolution in their own tsconfig files. Node broke the db library --- tsconfig.base.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsconfig.base.json b/tsconfig.base.json index 0518f8bfa..e9c693ad7 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -8,7 +8,7 @@ "baseUrl": ".", "rootDir": ".", "module": "ESNext", - "moduleResolution": "Node", + "moduleResolution": "Bundler", "paths": { "@cuhacking/api": ["libs/api/src/index.ts"], "@cuhacking/auth": ["libs/auth/src/index.ts"], From b626b8fc2940defd00c4cb09623b355b7e70fb8e Mon Sep 17 00:00:00 2001 From: jowi Date: Sat, 28 Sep 2024 00:09:23 -0400 Subject: [PATCH 27/50] refactor(api/env): allow dot notation Removes TypeScript error for env access with dot notation feat(api/env): enable SKIP_ENV_VALIDATION variable check --- libs/env/src/website/server.ts | 2 +- libs/env/tsconfig.json | 2 +- libs/utils/tsconfig.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libs/env/src/website/server.ts b/libs/env/src/website/server.ts index 249008fc8..24ecac808 100644 --- a/libs/env/src/website/server.ts +++ b/libs/env/src/website/server.ts @@ -20,5 +20,5 @@ export const envWebsiteServer = createEnv({ PORT: process.env.PORT, }, emptyStringAsUndefined: true, - // skipValidation: !!process.env.['SKIP_ENV_VALIDATION'], + skipValidation: !!process.env.SKIP_ENV_VALIDATION, }) diff --git a/libs/env/tsconfig.json b/libs/env/tsconfig.json index f45b571de..65502a29b 100644 --- a/libs/env/tsconfig.json +++ b/libs/env/tsconfig.json @@ -7,7 +7,7 @@ "noFallthroughCasesInSwitch": true, "noImplicitOverride": true, "noImplicitReturns": true, - "noPropertyAccessFromIndexSignature": true, + "noPropertyAccessFromIndexSignature": false, "forceConsistentCasingInFileNames": true }, "references": [ diff --git a/libs/utils/tsconfig.json b/libs/utils/tsconfig.json index f45b571de..65502a29b 100644 --- a/libs/utils/tsconfig.json +++ b/libs/utils/tsconfig.json @@ -7,7 +7,7 @@ "noFallthroughCasesInSwitch": true, "noImplicitOverride": true, "noImplicitReturns": true, - "noPropertyAccessFromIndexSignature": true, + "noPropertyAccessFromIndexSignature": false, "forceConsistentCasingInFileNames": true }, "references": [ From 404655d1e9d61ec649647e61c0f6fc75a21ff4ea Mon Sep 17 00:00:00 2001 From: jowi Date: Sat, 28 Sep 2024 00:20:04 -0400 Subject: [PATCH 28/50] fix(api/db): add database schema as input --- libs/db/tsconfig.lib.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/db/tsconfig.lib.json b/libs/db/tsconfig.lib.json index e85d5d919..52f046aa4 100644 --- a/libs/db/tsconfig.lib.json +++ b/libs/db/tsconfig.lib.json @@ -5,6 +5,6 @@ "declaration": true, "outDir": "../../dist/out-tsc" }, - "include": ["src/**/*.ts", "drizzle.config.ts"], + "include": ["src/**/*.ts", "drizzle.config.ts", "src/schema/index.js"], "exclude": ["vite.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] } From c3029eb7d5bba16f42fcfb9d5fce26faeda65848 Mon Sep 17 00:00:00 2001 From: jowi Date: Sat, 28 Sep 2024 00:45:04 -0400 Subject: [PATCH 29/50] feat(api/utils): create getBaseUrl method --- libs/utils/src/index.ts | 2 ++ libs/utils/src/url.ts | 11 +++++++++++ 2 files changed, 13 insertions(+) create mode 100644 libs/utils/src/url.ts diff --git a/libs/utils/src/index.ts b/libs/utils/src/index.ts index 842d335e7..faae91459 100644 --- a/libs/utils/src/index.ts +++ b/libs/utils/src/index.ts @@ -1 +1,3 @@ export * from './lib/utils' + +export * from './url' diff --git a/libs/utils/src/url.ts b/libs/utils/src/url.ts new file mode 100644 index 000000000..9ea9d088d --- /dev/null +++ b/libs/utils/src/url.ts @@ -0,0 +1,11 @@ +/** + * This function gets the base URL of the current environment. + * @returns The base URL. + */ +export function getBaseUrl() { + if (typeof window !== 'undefined') { + return window.location.origin + } + + return `http://localhost:${String(3000)}` +} From 7b960e6d2f1638b86bdb0d163773159aa512ae08 Mon Sep 17 00:00:00 2001 From: jowi Date: Sun, 29 Sep 2024 08:51:36 -0400 Subject: [PATCH 30/50] fix(api/db): build failing in pipeline --- libs/env/src/website/db.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libs/env/src/website/db.ts b/libs/env/src/website/db.ts index ec1f4f134..5e42b6183 100644 --- a/libs/env/src/website/db.ts +++ b/libs/env/src/website/db.ts @@ -9,7 +9,9 @@ export const envWebsiteDb = createEnv({ server: { DATABASE_URL: z.string().url().startsWith('postgres'), }, - experimental__runtimeEnv: {}, + experimental__runtimeEnv: { + DATABASE_URL: process.env.DATABASE_URL, + }, emptyStringAsUndefined: true, skipValidation: !!process.env.SKIP_ENV_VALIDATION, }) From c39696626c0cd7e1a322627feb1a68b678b442b6 Mon Sep 17 00:00:00 2001 From: Jowi Date: Tue, 1 Oct 2024 13:01:40 +0000 Subject: [PATCH 31/50] docs(libraries): create initial monorepo libraries page --- apps/docs/src/app/docs/source.ts | 9 +- .../docs/contribution-guidelines/index.mdx | 153 +++---- .../docs/src/content/docs/libraries/index.mdx | 432 ++++++++++++++++++ .../docs/src/content/docs/libraries/meta.json | 5 + apps/docs/src/content/docs/meta.json | 3 +- 5 files changed, 500 insertions(+), 102 deletions(-) create mode 100644 apps/docs/src/content/docs/libraries/index.mdx create mode 100644 apps/docs/src/content/docs/libraries/meta.json diff --git a/apps/docs/src/app/docs/source.ts b/apps/docs/src/app/docs/source.ts index 567bd412e..b596aa09b 100644 --- a/apps/docs/src/app/docs/source.ts +++ b/apps/docs/src/app/docs/source.ts @@ -5,7 +5,8 @@ import { createElement } from 'react' import { GitPullRequestCreateArrow as ContributionGuidelinesIcon, Dock as HomeIcon, - Library as KnowledgeBaseIcon, + BookOpenText as KnowledgeBaseIcon, + Library as LibrariesIcon, Layers as ToolsIcon, icons, } from 'lucide-react' @@ -36,6 +37,12 @@ export const pages = [ url: 'knowledge-base', icon: KnowledgeBaseIcon, }, + { + title: 'Libraries', + description: 'Libraries within this monorepo used within the applications.', + url: 'libraries', + icon: LibrariesIcon, + }, ] export const { getPage, getPages, pageTree } = loader({ diff --git a/apps/docs/src/content/docs/contribution-guidelines/index.mdx b/apps/docs/src/content/docs/contribution-guidelines/index.mdx index 0fdfa9071..ccf584b7f 100644 --- a/apps/docs/src/content/docs/contribution-guidelines/index.mdx +++ b/apps/docs/src/content/docs/contribution-guidelines/index.mdx @@ -128,24 +128,7 @@ npm i -g pnpm
-
- Install [Nx](https://nx.dev). - -```sh title="Terminal" -pnpm i -g nx@19.5.7 -``` - Nice, now you're an - - - - -dev. - -
Clone [source repository](https://github.com/cuhacking/hackathon). @@ -184,6 +167,14 @@ pnpm i
+
+ Spin up development docker containers, one of which contains the PostgreSQL database. + + ```sh title="terminal" + docker-compose up -d + ``` +
+ This is what the steps looked like from this point onwards prior to the monorepo migration. @@ -258,6 +249,15 @@ You should now be able to sign in with Google. +
+ Run Drizzle Migrate + + ```sh title="Terminal" + pnpm nx run db:migrate + ``` + +
+
Run the project of your choice. @@ -266,112 +266,65 @@ You should now be able to sign in with Google. ```sh title="Terminal" - nx dev web - ``` - Or - ```sh title="Terminal" - nx run web:dev + pnpm nx run web:dev ``` ```sh title="Terminal" - nx build web - ``` - Or - ```sh title="Terminal" - nx run web:build + pnpm nx run web:build ``` ```sh title="Terminal" - nx start web - ``` - Or ```sh title="Terminal" - nx run web:start + pnpm nx run web:start ``` -{" "} - - - - - - ```sh title="Terminal" - nx dev portal - ``` - Or - - ```sh title="Terminal" - nx run portal:dev - ``` - - - - - - ```sh title="Terminal" - nx build portal - ``` - - Or - - ```sh title="Terminal" - nx run portal:build - ``` - - - - - ```sh title="Terminal" - nx start portal - ``` - - Or + + + + ```sh title="Terminal" + pnpm nx run portal:dev + ``` + - ```sh title="Terminal" - nx run portal:start - ``` + + ```sh title="Terminal" + pnpm nx run portal:build + ``` + - + + ```sh title="Terminal" + pnpm nx run portal:start + ``` + - - + + ```sh title="Terminal" - nx dev docs - ``` - Or - ```sh title="Terminal" - nx run docs:dev + pnpm nx run docs:dev ``` ```sh title="Terminal" - nx build docs - ``` - Or - ```sh title="Terminal" - nx run docs:build + pnpm nx run docs:build ``` ```sh title="Terminal" - nx start docs - ``` - Or - ```sh title="Terminal" - nx run docs:start + pnpm nx run docs:start ``` @@ -385,19 +338,19 @@ You should now be able to sign in with Google. To execute tasks with Nx use the following syntax: ```sh title="Terminal" -nx <...options> +pnpm nx run : <...options> ``` You can also run multiple targets: ```sh title="Terminal" -nx run-many -t +pnpm nx run-many -t ``` ..or add `-p` to filter specific projects ```sh title="Terminal" -nx run-many -t -p +pnpm nx run-many -t -p ``` Targets can be defined in the `package.json` or `projects.json`. [Learn more](https://nx.dev/features/run-tasks). @@ -405,7 +358,7 @@ Targets can be defined in the `package.json` or `projects.json`. [Learn more](ht Explore the project graph to see the projects in the monorepo and the tasks you can run with Nx. ```sh title="Terminal" -nx graph +pnpm nx graph ``` [Learn more](https://nx.dev/core-features/explore-graph). @@ -416,7 +369,7 @@ Use [Nx Console](https://nx.dev/nx-console) to integrate with editors. ### Build for production -Run `nx build portal` to build the application. The build artifacts are stored in the output directory (e.g. `dist/` or `build/`), ready to be deployed. +Run `pnpm nx run portal:build` to build the application. The build artifacts are stored in the output directory (e.g. `dist/` or `build/`), ready to be deployed. ### Set up CI @@ -436,9 +389,9 @@ You'll see the url(s) in your terminal for the project(s) you're running, simply For example you may see: ```sh title="Terminal" -╰─ nx dev docs +╰─ pnpm nx run docs:dev -> nx run docs:dev +> pnpm nx run docs:dev > next dev diff --git a/apps/docs/src/content/docs/libraries/index.mdx b/apps/docs/src/content/docs/libraries/index.mdx new file mode 100644 index 000000000..f74b01430 --- /dev/null +++ b/apps/docs/src/content/docs/libraries/index.mdx @@ -0,0 +1,432 @@ +--- +title: Libraries +description: Libraries within this monorepo used within the applications. +icon: LayoutTemplate +--- + +### πŸ’‘ Hackathon Platforms + + + + + + + + + + + +### πŸ‘©β€πŸ’» Join the Dark Side (be warned, there is no turning back) + + + + + + + + + + +### 🌳 Learn Git + + + + + + +### 🧠 General Learning + + + + + + + + + + + + +### ✨ Front-End Drill/Practice + + + + + + + + + + + +### βš™οΈ Back-End Drill/Practice + + + + + + + + + + +### πŸ›οΈ Software Architecture + + + + + + + + +### βš› Next.js Ecosystem + + + + + +### πŸ“„ Documentation & References + + + + + + + + + +### πŸ› οΈ Tools + + + + + + + + + +### 🧹 Code Quality + + + + + + + +### πŸ’… UI Libraries & Design Systems + + + + + + + + +### 🧱 Component Libraries + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +### 🎨 CSS + + + + + + + + + +### πŸŽ₯ Animations + + + + + + + + +### ⚑️ Tailwind CSS Components and Layouts + + + + + + + + + + +### 🌠 General UI/UX + + + + + + +### 🏞️ Custom Component Inspiration & Templates + + + + + + +### 🌟 Inspiration + + + + + + + + + + + + +### πŸ‘οΈ Tools (UI/UX) + + + + + + + + + + + + + + + + + + + + + + +### 🎬 GitHub Actions + + + + + +### πŸ€– AI/ML Tools + + + + + + + + +### πŸ“Š Data Science Libraries + + + + + + + + +### πŸ”’ CyberSci Resources + + + + + +### πŸ†“ Free Stuff + + + + + + +### πŸ’» GitHub Resource Repos + + + + + + + +### πŸ“– Articles & Blogs + + + + + + + + +### πŸ“½οΈ Must-watch YouTube Videos + + + + diff --git a/apps/docs/src/content/docs/libraries/meta.json b/apps/docs/src/content/docs/libraries/meta.json new file mode 100644 index 000000000..73f7399fe --- /dev/null +++ b/apps/docs/src/content/docs/libraries/meta.json @@ -0,0 +1,5 @@ +{ + "title": "Libraries", + "icon": "Library", + "pages": ["env"] +} diff --git a/apps/docs/src/content/docs/meta.json b/apps/docs/src/content/docs/meta.json index ec11e1d95..9c5a0833c 100644 --- a/apps/docs/src/content/docs/meta.json +++ b/apps/docs/src/content/docs/meta.json @@ -5,6 +5,7 @@ "--- Categories ---", "tools-overview", "contribution-guidelines", - "knowledge-base" + "knowledge-base", + "libraries" ] } From 501d69e383677232e177c33a15db38c0257fac66 Mon Sep 17 00:00:00 2001 From: Jowi Date: Tue, 1 Oct 2024 19:36:09 +0000 Subject: [PATCH 32/50] docs(libraries): create library documentations docs(libraries/env): create env library docs docs(libraries/db): create db library docs docs(libraries/utils): create utils library docs docs(libraries/auth): create auth library docs docs(libraries/api): create api library docs --- apps/docs/src/content/docs/libraries/api.mdx | 119 ++++++++++++++ apps/docs/src/content/docs/libraries/auth.mdx | 115 +++++++++++++ apps/docs/src/content/docs/libraries/db.mdx | 124 ++++++++++++++ apps/docs/src/content/docs/libraries/env.mdx | 152 ++++++++++++++++++ .../docs/src/content/docs/libraries/meta.json | 2 +- .../docs/src/content/docs/libraries/utils.mdx | 97 +++++++++++ 6 files changed, 608 insertions(+), 1 deletion(-) create mode 100644 apps/docs/src/content/docs/libraries/api.mdx create mode 100644 apps/docs/src/content/docs/libraries/auth.mdx create mode 100644 apps/docs/src/content/docs/libraries/db.mdx create mode 100644 apps/docs/src/content/docs/libraries/env.mdx create mode 100644 apps/docs/src/content/docs/libraries/utils.mdx diff --git a/apps/docs/src/content/docs/libraries/api.mdx b/apps/docs/src/content/docs/libraries/api.mdx new file mode 100644 index 000000000..fcb87affd --- /dev/null +++ b/apps/docs/src/content/docs/libraries/api.mdx @@ -0,0 +1,119 @@ +--- +title: api +description: Type-safe API using tRPC +--- + +## πŸ“¦ Overview + +### What it does + +This library brings a single tRPC API endpoint to perform actions on procedures easily with type-safetyℒ️. + +### Key Features + +- Single endpoint +- Organized routing directories +- Context easily provided to endpoints +- Full type-safety + +### How to use + +#### Basic Usage Example + +Assume a `hello` procedure defined in the `api` library, in a `user` route: +```ts +import { createRouter, publicProcedure } from '../../trpc' + +export const userRouter = createRouter({ + hello: publicProcedure.query(({ ctx }: { ctx: any }) => { + return { + message: `Hello, ${ctx?.user?.name ?? 'world'} from tRPC!`, + } + }), +}) +``` + +Here, `ctx` is the context provided by the user on every request (containing the user, session, etc). +This is `publicProcedure`, meaning authentication is not required to access it. + +To call this procedure, import `api` from the tRPC implementation in the app or library, and use it: + +```ts +import { api } from '../lib/trpc/server' + +const hello = await api.user.hello() +``` + +--- + +## πŸ“– API Reference + +### `api` Function + +- **Description**: Function containing all API procedures to the server. +- **Parameters**: Depending on the procedure defined. +- **Return Type**: Promise depending on the procedure return type. + +### Error Handling + +Errors should be handled properly within each API route procedure. + +--- + +## πŸ› οΈ Commands + +### View all commands + +To view all commands from the library's `project.json`, `package.json` and inheritted: +```sh title="Terminal" +pnpm nx show project api +``` + +### Focus library usage + +To view/focus on all the apps & libraries which use this library: +```sh title="Terminal" +pnpm nx graph --focus api +``` + +--- + +## πŸ“ Contributing + +### Best Practices + +#### Code Formatting + +Include instructions or links to code style guides, like Prettier/ESLint. + +The library should be linted without any errors: +```sh title="Terminal" +pnpm nx run api:lint +``` + +#### Testing + +To run tests for this library: +```sh title="Terminal" +pnpm nx run api:test +``` + +--- + +## ❓ FAQs + +### How can I add a new route? + +Begin by copying the template for routes. Define your procedures, and then make sure to import the router +into the `AppRouter`, found in `src/index.ts`. + +--- + +## πŸ›‘ Troubleshooting + +### Common Errors + +#### Error accessing a route / Redirected to login page + +The user accessing a protected route needs to be authenticated, no matter the authorization levels. +Additionally, authentication needs to be properly configured with its environment variables. diff --git a/apps/docs/src/content/docs/libraries/auth.mdx b/apps/docs/src/content/docs/libraries/auth.mdx new file mode 100644 index 000000000..7a54a7271 --- /dev/null +++ b/apps/docs/src/content/docs/libraries/auth.mdx @@ -0,0 +1,115 @@ +--- +title: auth +description: Authentication functionality provider. +--- + +## πŸ“¦ Overview + +### What it does + +This library is the authentication layer using [Lucia Auth](https://lucia-auth.com/). +It is directly used by the `api` library, to perform checks on users on certain routes, acting as middleware. + +### Key Features + +- Unified authentication approach +- Easy implementation of additional features +- Can be used in any application or library +- Type-safe 😁 + +### How to use + +#### Basic Usage Example + +This example creates the TRPC context (object sent from the user to the server with every request). +By doing this, the routes can identify if the user is authenticated and can access protected routes. + +```ts +export async function createTRPCContext(opts: { headers: Headers }) { + const { session, user } = await auth() + + return { + db, + session, + user, + ...opts, + } +} +``` + +--- + +## πŸ“– API Reference + +### `auth` (Promise) + +- **Description**: Object used for fetching a user and its session. +- **Return Type**: Promise\<\{user: User, session: Session }> + +To use the return types, the function should be awaited like the example above. + +### Error Handling + +Failed authentication will return null values for `user` and `session`. + +--- + +## πŸ› οΈ Commands + +### View all commands + +To view all commands from the library's `project.json`, `package.json` and inheritted: +```sh title="Terminal" +pnpm nx show project auth +``` + +### Focus library usage + +To view/focus on all the apps & libraries which use this library: +```sh title="Terminal" +pnpm nx graph --focus auth +``` + +--- + +## πŸ“ Contributing + +### Best Practices + +#### Code Formatting + +The library should be linted without any errors: +```sh title="Terminal" +pnpm nx run auth:lint +``` + +#### Testing + +To run tests for this library: +```sh title="Terminal" +pnpm nx run auth:test +``` + +--- + +## ❓ FAQs + +### What happens if a user is not authenticated? + +The client will be redirected to the login page. + +### Can I add a provider? + +This will need to be discussed with the team as it requires every team member to make an auth secret +on their development servers. + +--- + +## πŸ›‘ Troubleshooting + +### Common Errors + +#### Authentication does not work! + +Make sure to have followed the installation steps properly and set all the callback URLs. +Then, see if you placed the correct environment variables in the `.env` file. diff --git a/apps/docs/src/content/docs/libraries/db.mdx b/apps/docs/src/content/docs/libraries/db.mdx new file mode 100644 index 000000000..e7c21ca5f --- /dev/null +++ b/apps/docs/src/content/docs/libraries/db.mdx @@ -0,0 +1,124 @@ +--- +title: db +description: Database interactor with DrizzleORM. +--- + +## πŸ“¦ Overview + +### What it does + +This library holds the schemas and commands for making and using the database using DrizzleORM and Drizzle-Kit. +It puts together the schemas in a configuration, and provides one database object to interact with databases with type-safety. + +### Key Features + +- One source of truth +- Isolated tests +- [Blazingly fast](https://github.com/cuhacking/2025/issues/49) +- Caching enabled βœ… + +### How to use + +#### Basic Usage Example + +This library requires a `DATABASE_URL` environment variable, which is the connection +string to a PostgreSQL database. This means of course it will require a PostgreSQL +database up and running, which is why we have a `docker-compose` file. +To spin up a database on a local development container, run `docker-compose up -d` +This container can be taken down afterwards with `docker-compose down`. + +--- + +## πŸ“– API Reference + +### `db` + +- **Description**: Database interactor object, allowing for performing querries and mutations. + +Schemas are exported as well, and are used to perform operations on their tables in the database. + +### Error Handling + +This library does not perform any error handling currently. + +--- + +## πŸ› οΈ Commands + +### View all commands + +To view all commands from the library's `project.json`, `package.json` and inheritted: +```sh title="Terminal" +pnpm nx show project db +``` + +### Focus library usage + +To view/focus on all the apps & libraries which use this library: +```sh title="Terminal" +pnpm nx graph --focus db +``` + +### Run Drizzle studio + +To view database tables & more, Drizzle provides a studio: +```sh title="Terminal" +pnpm nx run db:studio +``` + +### Other Drizzle-Kit commands + +All other `drizzle-kit` [https://orm.drizzle.team/kit-docs/commands](commands) are supported, such as `generate` and `migrate`. +See the project graph to view them. Here is an example of running a migration: +```sh title="Terminal" +pnpm nx run db:migrate +``` + +--- + +## πŸ“ Contributing + +### Best Practices + +#### Code Formatting + +To create a new entity, simply create the exported schema. It will be automatically +imported into `drizzle-kit`, at which point you can perform a migration to use the updated +schemas. You may be asked some questions, i.e. if a column was renamed or newly added. +Eventually, some migrations may require to truncate (delete) all of the data in the database. +One cause of this is new columns having a required field -> you can imagine that drizzle does not +know what to put for each row for that newly required field! + +The library should be linted without any errors: +```sh title="Terminal" +pnpm nx run db:lint +``` + +#### Testing + +To run tests for this library: +```sh title="Terminal" +pnpm nx run db:test +``` + +--- + +## ❓ FAQs + +### What do I do if I don't want to truncate data? + +One possible way to go about this is to make the newly added required attribute an optional one instead. +Make sure that it is valid to make it optional. + +--- + +## πŸ›‘ Troubleshooting + +### Common Errors + +#### Migration could not be completed + +If this happens, a last resort solution would be to delete the docker container & its volume, +and attempt a migration once again. + +For more troubleshooting, see DrizzleORM's [https://orm.drizzle.team/kit-docs/faq](troubleshooting page) diff --git a/apps/docs/src/content/docs/libraries/env.mdx b/apps/docs/src/content/docs/libraries/env.mdx new file mode 100644 index 000000000..36333e4a9 --- /dev/null +++ b/apps/docs/src/content/docs/libraries/env.mdx @@ -0,0 +1,152 @@ +--- +title: env +description: Type-safe environment variable provider. +--- + +## πŸ“¦ Overview + +### What it does + +This library allows for typechecking environment variables or secrets which are consumed by the applications. +This uses [t3-oss/t3-env](https://github.com/t3-oss/t3-env), with type validation using [Zod](https://zod.dev/). +These variables can be imported with full type safety by any apps or libraries. + +### Key Features + +- Provides full type-safety to environment variables +- Helps easily detect missing or invalid environment variables +- Improves security by providing access to specific variables for certain library/app + +### How to use + +#### Basic Usage Example + + +Assuming environment variables in the `.env.example` files are set in a `.env` file, they can be imported & consumed: + +```tsx +import { envWebsiteDb } from '@cuhacking/env' + +export default defineConfig({ + // ... + dbCredentials: { + url: envWebsiteDb.DATABASE_URL, + }, +}) +``` + +`envWebsiteDb.DATABASE_URL` will have type-safety up to its configurations. +Based on the following configurations: + +```tsx +export const envWebsiteDb = createEnv({ + // ... + server: { + DATABASE_URL: z.string().url().startsWith('postgres'), + }, +}) +``` + +The library would throw an error if the environment variable: +1. Is missing (or is not defined in the correct directory) +2. Is not a string +3. Is not a URL +4. Does not start with 'postgres' + +--- + +## πŸ“– API Reference + +### `envWebsiteDb` + +- **Properties** + - `DATABASE_URL: string`: PostgreSQL database connection string. + +### `envWebsiteServer` + +- **Properties** + - `AUTH_SECRET: string`: Lucia server-side authentication secret + - `AUTH_GOOGLE_ID: string`: Google authentication crendential ID + - `AUTH_GOOGLE_SECRET: string`: Google authentication credential secret + +Any environment variables that should be shared with all other set of variables should +be placed in `shared.ts` + +### Error Handling + +When using an environment variable through this library, your IDE should pick up +type mismatches because of type-safety ✨ + +--- + +## πŸ› οΈ Commands + +### View all commands + +To view all commands from the library's `project.json`, `package.json` and inheritted: +```sh title="Terminal" +pnpm nx show project env +``` + +### Focus library usage + +To view/focus on all the apps & libraries which use this library: +```sh title="Terminal" +pnpm nx graph --focus env +``` + +--- + +## πŸ“ Contributing + +### Best Practices + +#### Code Formatting + +The directories of the environment variables definitions are named after the apps they represent. +For example, the environment variables for `website` are found in `env/src/website`. +To add a new environment variable, create a `.ts` file representing +the set of environment variables for the certain portion of the app/library. + +The library should be linted without any errors: +```sh title="Terminal" +pnpm nx run env:lint +``` + +#### Testing + +To run tests for this library: +```sh title="Terminal" +pnpm nx run env:test +``` + +--- + +## ❓ FAQs + +### What happens if I don't declare new environment variables in the library? + +The library will not pick up any additional environment variables thrown in the environment variables files. +Therefore, it is best practice to begin by declaring the *expected* variable with its types in the library, +and then providing it in the `.env` file. Afterwards, don't forget to include an example (not your own key) +in the respected `.env.example` file. + +### Can I just use `process.env.`? + +There are many reasons why we specifically use this wrapper library. Those were mentioned above, and for that +reason, using `process.env` should be the last option. + +--- + +## πŸ›‘ Troubleshooting + +### Common Errors + +#### Invalid environment variable(s) + +Invalid environment variables should be picked up either in build-time or run-time. +An error code of the sort means that the environment variable is either missing, or not in the correct directory: +```sh title="Terminal" +❌ Invalid environment variables: { DATABASE_URL: [ 'Required' ] } +``` +How cool this is? The kindest type of error you can get! 😁 diff --git a/apps/docs/src/content/docs/libraries/meta.json b/apps/docs/src/content/docs/libraries/meta.json index 73f7399fe..4f53647e0 100644 --- a/apps/docs/src/content/docs/libraries/meta.json +++ b/apps/docs/src/content/docs/libraries/meta.json @@ -1,5 +1,5 @@ { "title": "Libraries", "icon": "Library", - "pages": ["env"] + "pages": ["env", "utils", "db", "auth", "api", "template"] } diff --git a/apps/docs/src/content/docs/libraries/utils.mdx b/apps/docs/src/content/docs/libraries/utils.mdx new file mode 100644 index 000000000..b4b734913 --- /dev/null +++ b/apps/docs/src/content/docs/libraries/utils.mdx @@ -0,0 +1,97 @@ +--- +title: utils +description: Utility functions and constants. +--- + +## πŸ“¦ Overview + +### What it does + +This library provides utility functions and constants for libraries. These functions & constants +usually have a global context, and could be used in any applications & libraries. + + + Utility functions & constants specific to an app or library should be specified in the respective + app or library's `lib` directory. This library is only used for globally usable functions. + + +### Key Features + +- Allows for global usage of utility functions & constants +- Write unit tests just once + +### How to use + +#### Basic Usage Example + +Simply import the functions you need and use them: + +```tsx +import { getBaseUrl } from '@cuhacking/utils' + +const baseUrl = getBaseUrl() // Example value: https://localhost:3000/ +``` + +--- + +## πŸ“– API Reference + +### `getBaseUrl` + +- **Description**: Gets the base URL of the window. +- **Return Type**: string + +### Error Handling + +Errors should be handled within the functions themself. The library +does not perform any additional error handling or manipulation on top of the provided functions. + +--- + +## πŸ› οΈ Commands + +### View all commands + +To view all commands from the library's `project.json`, `package.json` and inheritted: +```sh title="Terminal" +pnpm nx show project utils +``` + +### Focus library usage + +To view/focus on all the apps & libraries which use this library: +```sh title="Terminal" +pnpm nx graph --focus utils +``` + +--- + +## πŸ“ Contributing + +### Best Practices + +#### Code Formatting + +Implement your functions in identifiable files. + +The library should be linted without any errors: +```sh title="Terminal" +pnpm nx run utils:lint +``` + +#### Testing + +To run tests for this library: +```sh title="Terminal" +pnpm nx run utils:test +``` + +--- + +## ❓ FAQs + +### How can I add a new function/constant? + +Write it in an existing library file or +create a file of your own. Make sure to `export` the function/constant, +and follow function definition guidelines. From 8d1503adc0036077e46c914dd5a5d41315595aeb Mon Sep 17 00:00:00 2001 From: Jowi Date: Tue, 1 Oct 2024 19:35:41 +0000 Subject: [PATCH 33/50] docs(libraries/template): create template documentation --- .../src/content/docs/libraries/template.mdx | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 apps/docs/src/content/docs/libraries/template.mdx diff --git a/apps/docs/src/content/docs/libraries/template.mdx b/apps/docs/src/content/docs/libraries/template.mdx new file mode 100644 index 000000000..c65c24c63 --- /dev/null +++ b/apps/docs/src/content/docs/libraries/template.mdx @@ -0,0 +1,101 @@ +--- +title: template +description: Template documentation page for creating new libraries. +--- + +## πŸ“¦ Overview + +### What it does + +Provide a clear, concise overview of the purpose and capabilities of the library. + +### Key Features + +Highlight the main features of the library in bullet points or brief descriptions. + +### How to use + +#### Basic Usage Example + +Show a minimal example of how to set up and use the library. + +--- + +## πŸ“– API Reference + +### `myAction` Function + +- **Description**: +- **Parameters**: +- **Return Type**: + +### `myThing` Object + +- **Properties** + - `FirstProperty`: + +### Error Handling + +Explain how errors are thrown during validation and show example outputs for invalid variables. + +--- + +## πŸ› οΈ Commands + +### View all commands + +To view all commands from the library's `project.json`, `package.json` and inheritted: +```sh title="Terminal" +pnpm nx show project +``` + +### Focus library usage + +To view/focus on all the apps & libraries which use this library: +```sh title="Terminal" +pnpm nx graph --focus +``` + +--- + +## πŸ“ Contributing + +### Best Practices + +#### Code Formatting + +Include instructions or links to code style guides, like Prettier/ESLint. + +The library should be linted without any errors: +```sh title="Terminal" +pnpm nx run :lint +``` + +#### Testing + +To run tests for this library: +```sh title="Terminal" +pnpm nx run :test +``` + +--- + +## ❓ FAQs + +### What happens if ...? + +Provide an answer along with an example error message. + +### Can I add ...? + +Show an example of adding more to the library. + +--- + +## πŸ›‘ Troubleshooting + +### Common Errors + +#### Invalidity + +Describe a common invalidity issue and how to fix it, along with an example error output. From beeda9dbf81feb4667e0e0d8f1f2d87c5de9d78b Mon Sep 17 00:00:00 2001 From: Mumtahin Farabi Date: Thu, 3 Oct 2024 19:16:09 -0400 Subject: [PATCH 34/50] fix(libs/db): temporary workaround to get migration command working --- libs/db/drizzle.config.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/db/drizzle.config.ts b/libs/db/drizzle.config.ts index 673994860..74243227e 100644 --- a/libs/db/drizzle.config.ts +++ b/libs/db/drizzle.config.ts @@ -1,12 +1,12 @@ import { defineConfig } from 'drizzle-kit' -import { envWebsiteDb } from '@cuhacking/env' +// import { envWebsiteDb } from "@cuhacking/env"; export default defineConfig({ dialect: 'postgresql', schema: './libs/db/src/schema/index.ts', out: './drizzle', dbCredentials: { - url: envWebsiteDb.DATABASE_URL, + url: `postgresql://postgres:password@localhost:5432/hackathon`, }, }) From b207a1ee2ddd863d4ed9c274a0a6fc015168ce7a Mon Sep 17 00:00:00 2001 From: jowi Date: Fri, 4 Oct 2024 19:05:44 -0400 Subject: [PATCH 35/50] chore(libs): modify main entry points to use ts --- libs/api/package.json | 2 +- libs/auth/package.json | 2 +- libs/db/package.json | 2 +- libs/env/package.json | 2 +- libs/utils/package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libs/api/package.json b/libs/api/package.json index 74904bbd6..4c31cf9f5 100644 --- a/libs/api/package.json +++ b/libs/api/package.json @@ -3,7 +3,7 @@ "type": "module", "version": "0.0.1", "private": "false", - "main": "./src/index.js", + "main": "./src/index.ts", "dependencies": { "tslib": "^2.3.0" }, diff --git a/libs/auth/package.json b/libs/auth/package.json index 61f29284d..e7c36eea7 100644 --- a/libs/auth/package.json +++ b/libs/auth/package.json @@ -3,7 +3,7 @@ "type": "module", "version": "0.0.1", "private": "false", - "main": "./src/index.js", + "main": "./src/index.ts", "dependencies": { "tslib": "^2.3.0" }, diff --git a/libs/db/package.json b/libs/db/package.json index e10a2a93b..3486241b7 100644 --- a/libs/db/package.json +++ b/libs/db/package.json @@ -3,7 +3,7 @@ "type": "module", "version": "0.0.1", "private": "false", - "main": "./src/index.js", + "main": "./src/index.ts", "dependencies": { "tslib": "^2.3.0" }, diff --git a/libs/env/package.json b/libs/env/package.json index e76161f41..0be84d42c 100644 --- a/libs/env/package.json +++ b/libs/env/package.json @@ -3,7 +3,7 @@ "type": "module", "version": "0.0.1", "private": "false", - "main": "./src/index.js", + "main": "./src/index.ts", "dependencies": { "tslib": "^2.3.0" }, diff --git a/libs/utils/package.json b/libs/utils/package.json index 0a5119add..2ad9cfd22 100644 --- a/libs/utils/package.json +++ b/libs/utils/package.json @@ -3,7 +3,7 @@ "type": "module", "version": "0.0.1", "private": "false", - "main": "./src/index.js", + "main": "./src/index.ts", "dependencies": {}, "typings": "./src/index.d.ts" } From e8f761e6253868c52177c19556bbdc43617794bd Mon Sep 17 00:00:00 2001 From: jowi Date: Fri, 4 Oct 2024 19:19:03 -0400 Subject: [PATCH 36/50] refactor(config/docker-compose): change db name to 2025-db --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 4bae8da1f..434f2c263 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ services: db: image: postgres:13 - container_name: db + container_name: 2025-db environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=password From e623f0ab8287519e33470392065fef41088fca6e Mon Sep 17 00:00:00 2001 From: jowi Date: Fri, 4 Oct 2024 19:52:47 -0400 Subject: [PATCH 37/50] chore(api/portal): update .env.example --- apps/portal/.env.example | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 apps/portal/.env.example diff --git a/apps/portal/.env.example b/apps/portal/.env.example new file mode 100644 index 000000000..5be54ef70 --- /dev/null +++ b/apps/portal/.env.example @@ -0,0 +1,18 @@ +# Since the ".env" file is gitignored, you can use the ".env.example" file to +# build a new ".env" file when you clone the repo. Keep this file up-to-date +# when you add new variables to `.env`. + +# This file will be committed to version control, so make sure not to have any +# secrets in it. If you are cloning this repo, create a copy of this file named +# ".env" and populate it with your secrets. + +# When adding additional environment variables, the schema in "/src/env.js" +# should be updated accordingly. + +# Database +DATABASE_URL="postgresql://postgres:password@localhost:5432/hackathon" + +# Auth +AUTH_SECRET="YOUR_AUTH_SECRET" +GOOGLE_CLIENT_ID="YOUR_GOOGLE_CLIENT_ID" +GOOGLE_CLIENT_SECRET="YOUR_GOOGLE_CLIENT_SECRET" From 4466a71290b9a80e5cca8d53478441162f750562 Mon Sep 17 00:00:00 2001 From: jowi Date: Fri, 4 Oct 2024 19:56:23 -0400 Subject: [PATCH 38/50] docs(tools-overview): replace next-auth with lucia-auth and remove prisma --- .../src/content/docs/tools-overview/index.mdx | 28 +++---------------- 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/apps/docs/src/content/docs/tools-overview/index.mdx b/apps/docs/src/content/docs/tools-overview/index.mdx index 32062c110..41e9b7129 100644 --- a/apps/docs/src/content/docs/tools-overview/index.mdx +++ b/apps/docs/src/content/docs/tools-overview/index.mdx @@ -394,7 +394,7 @@ Written in a beginner-friendly language in order to provide a smooth onboarding
  • Handling authentication safely and securely.
  • @@ -405,11 +405,11 @@ Written in a beginner-friendly language in order to provide a smooth onboarding } - href={`https://next-auth.js.org`} + href={`https://lucia-auth.com/`} icon={ NextAuth.js Logo @@ -449,26 +449,6 @@ Written in a beginner-friendly language in order to provide a smooth onboarding /> } /> - -
  • - An ORM that saves us from writing raw SQL queries, plays well with the - Node.ts ecosystem. -
  • - - } - href={`https://www.prisma.io/`} - icon={ - Prisma Logo - } - /> Date: Sat, 5 Oct 2024 00:28:52 +0000 Subject: [PATCH 39/50] ci(build): fix build step failing due to missing env vars --- .github/workflows/BUILD.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/BUILD.yml b/.github/workflows/BUILD.yml index 2dd409528..364588f80 100644 --- a/.github/workflows/BUILD.yml +++ b/.github/workflows/BUILD.yml @@ -7,7 +7,7 @@ on: branches: '*' jobs: - release: + build: runs-on: ubuntu-latest strategy: matrix: @@ -37,6 +37,11 @@ jobs: run: pnpm exec playwright install --with-deps - name: πŸ—οΈ Build Projects + env: + DATABASE_URL: ${{ secrets.DATABASE_URL }} + AUTH_SECRET: ${{ secrets.AUTH_SECRET }} + GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }} + GOOGLE_CLIENT_SECRET: ${{ secrets.GOOGLE_CLIENT_SECRET }} run: pnpm nx run-many -t build -p docs website portal --verbose - name: πŸ’° Profit From c39537d4a5fa4c8fb80673bcf362581a8979dd1d Mon Sep 17 00:00:00 2001 From: jowi Date: Fri, 4 Oct 2024 21:21:28 -0400 Subject: [PATCH 40/50] docs(libraries/index): initialize index properly --- .../docs/src/content/docs/libraries/index.mdx | 434 +----------------- 1 file changed, 11 insertions(+), 423 deletions(-) diff --git a/apps/docs/src/content/docs/libraries/index.mdx b/apps/docs/src/content/docs/libraries/index.mdx index f74b01430..fda3597fc 100644 --- a/apps/docs/src/content/docs/libraries/index.mdx +++ b/apps/docs/src/content/docs/libraries/index.mdx @@ -4,429 +4,17 @@ description: Libraries within this monorepo used within the applications. icon: LayoutTemplate --- -### πŸ’‘ Hackathon Platforms +## πŸ“¦ Overview - - - - - - - - - +### What are libraries? -### πŸ‘©β€πŸ’» Join the Dark Side (be warned, there is no turning back) +Libraries in this repository are used throughout applications & other libraries. +Modularizing them in this way allows for easy testing and configuration. +This also allows us to focus on specific changes to parts of business logic. - - - - - - - - - -### 🌳 Learn Git - - - - - - -### 🧠 General Learning - - - - - - - - - - - - -### ✨ Front-End Drill/Practice - - - - - - - - - - - -### βš™οΈ Back-End Drill/Practice - - - - - - - - - - -### πŸ›οΈ Software Architecture - - - - - - - - -### βš› Next.js Ecosystem - - - - - -### πŸ“„ Documentation & References - - - - - - - - - -### πŸ› οΈ Tools - - - - - - - - - -### 🧹 Code Quality - - - - - - - -### πŸ’… UI Libraries & Design Systems - - - - - - - - -### 🧱 Component Libraries - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -### 🎨 CSS - - - - - - - - - -### πŸŽ₯ Animations - - - - - - - - -### ⚑️ Tailwind CSS Components and Layouts - - - - - - - - - - -### 🌠 General UI/UX - - - - - - -### 🏞️ Custom Component Inspiration & Templates - - - - - - -### 🌟 Inspiration - - - - - - - - - - - - -### πŸ‘οΈ Tools (UI/UX) - - - - - - - - - - - - - - - - - - - - - - -### 🎬 GitHub Actions - - - - - -### πŸ€– AI/ML Tools - - - - - - - - -### πŸ“Š Data Science Libraries - - - - - - - - -### πŸ”’ CyberSci Resources - - - - - -### πŸ†“ Free Stuff - - - - - - -### πŸ’» GitHub Resource Repos - - - - - - - -### πŸ“– Articles & Blogs - - - - - - - - -### πŸ“½οΈ Must-watch YouTube Videos - - - - +### List of libraries +- `api`: Type-safe API using tRPC +- `auth`: Authentication functionality provider +- `db`: Database interactor with DrizzleORM +- `utils`: Utility functions and constants +- `env`: Type-safe environment variable provider From 93b1a93981dd899d0922e724fde6f60542b5b01b Mon Sep 17 00:00:00 2001 From: HasithDeAlwis Date: Fri, 4 Oct 2024 21:45:29 -0400 Subject: [PATCH 41/50] test(docs-e2e): fix locator bug on fumadocs --- apps/docs-e2e/src/pom.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/docs-e2e/src/pom.ts b/apps/docs-e2e/src/pom.ts index b31a091bf..523afa14d 100644 --- a/apps/docs-e2e/src/pom.ts +++ b/apps/docs-e2e/src/pom.ts @@ -54,8 +54,8 @@ export class DocsLayout { this.page = page // Desktop Header - this.cuHackingLogoIcon = page.getByRole('img', { name: 'cuHacking logo' }) - this.cuHackingLogoText = page.getByRole('link', { name: 'cuHacking logo cuHacking' }) + this.cuHackingLogoIcon = page.getByRole('img', { name: 'cuHacking logo' }).first() + this.cuHackingLogoText = page.getByRole('link', { name: 'cuHacking logo cuHacking' }).first() this.websiteDropdownButton = page.getByRole('button', { name: 'Website' }) this.websiteLink = page.getByRole('dialog').getByRole('link', { name: 'Website' }) this.websiteSourceLink = page.getByRole('dialog').getByRole('link', { name: 'Source' }) @@ -80,7 +80,7 @@ export class DocsLayout { this.sectionsDropdownButton = page.getByRole('button', { name: 'Home Leave none behind' }) this.mobileWebsiteLink = page.getByRole('link', { name: 'Website' }) this.mobileHackerPortalSourceLink = page.getByRole('link', { name: 'Source', exact: true }) - this.mobileHackerAppLink = page.getByRole('link', { name: 'App' }) + this.mobileHackerAppLink = page.getByRole('link', { name: 'App', exact: true }) this.mobileWebsiteSourceLink = page.getByRole('link', { name: 'Source (legacy)' }) this.mobileGithubIcon = page.getByRole('link', { name: 'Github' }) this.mobileHackerPortalProjectBoardLink = page.getByRole('link', { name: 'Project Board' }) From fa9fa868cf197e981cfdaf97bf102a45651672e8 Mon Sep 17 00:00:00 2001 From: HasithDeAlwis Date: Fri, 4 Oct 2024 21:57:29 -0400 Subject: [PATCH 42/50] ci(build): remove playwright installs Unecessary bloat to build times in pipelines --- .github/workflows/BUILD.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/BUILD.yml b/.github/workflows/BUILD.yml index 364588f80..6701341fe 100644 --- a/.github/workflows/BUILD.yml +++ b/.github/workflows/BUILD.yml @@ -21,8 +21,6 @@ jobs: - name: πŸ“¦ Install pnpm uses: pnpm/action-setup@v4 - # with: - # run_install: false - name: Install Node.js uses: actions/setup-node@v4 @@ -33,9 +31,6 @@ jobs: - name: 🧹 Lint Projects run: pnpm i; pnpm nx run-many -t lint -p docs docs-e2e website website-e2e portal portal-e2e --verbose - - name: 🎭 Install Playwright Browsers - run: pnpm exec playwright install --with-deps - - name: πŸ—οΈ Build Projects env: DATABASE_URL: ${{ secrets.DATABASE_URL }} From 26481bf4a6a36e59c0f805a7e598b39410059ed2 Mon Sep 17 00:00:00 2001 From: HasithDeAlwis Date: Fri, 4 Oct 2024 22:00:43 -0400 Subject: [PATCH 43/50] ci(build): update fetch-depth to 1 --- .github/workflows/BUILD.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/BUILD.yml b/.github/workflows/BUILD.yml index 6701341fe..61dab071c 100644 --- a/.github/workflows/BUILD.yml +++ b/.github/workflows/BUILD.yml @@ -17,7 +17,7 @@ jobs: - name: πŸ›ŽοΈ Checkout Code uses: actions/checkout@v4 with: - fetch-depth: 0 # All history for branches and tags + fetch-depth: 1 # Shallow clone (only take latest commit) - name: πŸ“¦ Install pnpm uses: pnpm/action-setup@v4 From c8325aa9ce5d0b71a38d547ed5b60002de062870 Mon Sep 17 00:00:00 2001 From: HasithDeAlwis Date: Fri, 4 Oct 2024 22:08:35 -0400 Subject: [PATCH 44/50] ci(e2e): fix failing tests by adding .env variables --- .github/workflows/TEST_e2e.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/TEST_e2e.yml b/.github/workflows/TEST_e2e.yml index 3bbf57563..c8f77e6c0 100644 --- a/.github/workflows/TEST_e2e.yml +++ b/.github/workflows/TEST_e2e.yml @@ -46,6 +46,11 @@ jobs: retention-days: 30 - name: πŸ’€ Run Portal E2E Tests + env: + DATABASE_URL: ${{ secrets.DATABASE_URL }} + AUTH_SECRET: ${{ secrets.AUTH_SECRET }} + GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }} + GOOGLE_CLIENT_SECRET: ${{ secrets.GOOGLE_CLIENT_SECRET }} run: pnpm nx run portal-e2e:e2e --reporter=html --verbose - name: πŸ“„ Upload Portal E2E Playwright Report From b51132ffae49b67b8ebbee3bffed6cbc9d88d275 Mon Sep 17 00:00:00 2001 From: Mumtahin Farabi Date: Fri, 4 Oct 2024 22:48:07 -0400 Subject: [PATCH 45/50] ci(build): split up build command for apps --- .github/workflows/BUILD.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/BUILD.yml b/.github/workflows/BUILD.yml index 61dab071c..79030dc9b 100644 --- a/.github/workflows/BUILD.yml +++ b/.github/workflows/BUILD.yml @@ -31,13 +31,19 @@ jobs: - name: 🧹 Lint Projects run: pnpm i; pnpm nx run-many -t lint -p docs docs-e2e website website-e2e portal portal-e2e --verbose - - name: πŸ—οΈ Build Projects + - name: πŸ“š Build Docs + run: pnpm nx build docs --verbose + + - name: 🌐 Build Website + run: pnpm nx build website --verbose + + - name: πŸŒ€ Build Portal env: DATABASE_URL: ${{ secrets.DATABASE_URL }} AUTH_SECRET: ${{ secrets.AUTH_SECRET }} GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }} GOOGLE_CLIENT_SECRET: ${{ secrets.GOOGLE_CLIENT_SECRET }} - run: pnpm nx run-many -t build -p docs website portal --verbose + run: pnpm nx build portal --verbose - name: πŸ’° Profit run: echo 🐞 From b1522f59990bcd77e887737ac0dce72d7b716073 Mon Sep 17 00:00:00 2001 From: Mumtahin Farabi Date: Fri, 4 Oct 2024 22:56:01 -0400 Subject: [PATCH 46/50] chore: remove postinstall script from package.json --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index a13d5d4fd..c6535eea6 100644 --- a/package.json +++ b/package.json @@ -15,8 +15,7 @@ "lint": "eslint .", "lint:fix": "eslint . --fix", "lint:inspect": "npx @eslint/config-inspector --no-open", - "lint:inspect-open": "npx @eslint/config-inspector", - "postinstall": "pnpx playwright install" + "lint:inspect-open": "npx @eslint/config-inspector" }, "dependencies": { "@lucia-auth/adapter-drizzle": "^1.1.0", From c48c3bbeec03fbcc1fb2888346db0990f5f1bccf Mon Sep 17 00:00:00 2001 From: Mumtahin Farabi Date: Fri, 4 Oct 2024 23:02:02 -0400 Subject: [PATCH 47/50] chore(deps): add sharp --- package.json | 1 + pnpm-lock.yaml | 248 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 249 insertions(+) diff --git a/package.json b/package.json index c6535eea6..63b89506b 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "postgres": "^3.4.4", "react": "18.3.1", "react-dom": "18.3.1", + "sharp": "^0.33.5", "superjson": "^2.2.1", "tailwind": "link:@nx/react/tailwind", "tslib": "^2.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c9479f868..6e9b43d61 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -68,6 +68,9 @@ importers: react-dom: specifier: 18.3.1 version: 18.3.1(react@18.3.1) + sharp: + specifier: ^0.33.5 + version: 0.33.5 superjson: specifier: ^2.2.1 version: 2.2.1 @@ -1812,6 +1815,111 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + '@inquirer/figures@1.0.5': resolution: {integrity: sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA==} engines: {node: '>=18'} @@ -4890,6 +4998,13 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} @@ -5574,6 +5689,10 @@ packages: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} @@ -7262,6 +7381,9 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + is-async-function@2.0.0: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} engines: {node: '>= 0.4'} @@ -10269,6 +10391,10 @@ packages: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -10305,6 +10431,9 @@ packages: resolution: {integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==} engines: {node: '>=6'} + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + sirv@2.0.4: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} @@ -13256,6 +13385,81 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true + + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true + + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true + + '@img/sharp-wasm32@0.33.5': + dependencies: + '@emnapi/runtime': 1.2.0 + optional: true + + '@img/sharp-win32-ia32@0.33.5': + optional: true + + '@img/sharp-win32-x64@0.33.5': + optional: true + '@inquirer/figures@1.0.5': {} '@isaacs/cliui@8.0.2': @@ -17567,6 +17771,16 @@ snapshots: color-name@1.1.4: {} + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + colord@2.9.3: {} colorette@2.0.20: {} @@ -18269,6 +18483,8 @@ snapshots: detect-indent@6.1.0: {} + detect-libc@2.0.3: {} + detect-newline@3.1.0: {} detect-node-es@1.1.0: {} @@ -20573,6 +20789,8 @@ snapshots: is-arrayish@0.2.1: {} + is-arrayish@0.3.2: {} + is-async-function@2.0.0: dependencies: has-tostringtag: 1.0.2 @@ -24449,6 +24667,32 @@ snapshots: dependencies: kind-of: 6.0.3 + sharp@0.33.5: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + semver: 7.6.3 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -24483,6 +24727,10 @@ snapshots: figures: 2.0.0 pkg-conf: 2.1.0 + simple-swizzle@0.2.2: + dependencies: + is-arrayish: 0.3.2 + sirv@2.0.4: dependencies: '@polka/url': 1.0.0-next.25 From f36968f0163f188eb114f2450a61ca4320e45867 Mon Sep 17 00:00:00 2001 From: Mumtahin Farabi Date: Fri, 4 Oct 2024 23:10:40 -0400 Subject: [PATCH 48/50] chore(docs/config/next): comment out all nx configs --- apps/docs/next.config.mjs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/docs/next.config.mjs b/apps/docs/next.config.mjs index 930d47949..0c8110f56 100644 --- a/apps/docs/next.config.mjs +++ b/apps/docs/next.config.mjs @@ -12,9 +12,9 @@ const nextConfig = { nx: { // Set this to true if you would like to use SVGR // See: https://github.com/gregberge/svgr - svgr: false, - reactStrictMode: true, - output: 'standalone', + // svgr: false, + // reactStrictMode: true, + // output: 'standalone', }, } From fd6fbb4cc0dfe58be294c9a0c465c6d272d86b02 Mon Sep 17 00:00:00 2001 From: Mumtahin Farabi Date: Fri, 4 Oct 2024 23:22:30 -0400 Subject: [PATCH 49/50] ci(build): remove nodejs pnpm cache --- .github/workflows/BUILD.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/BUILD.yml b/.github/workflows/BUILD.yml index 79030dc9b..c9db04849 100644 --- a/.github/workflows/BUILD.yml +++ b/.github/workflows/BUILD.yml @@ -26,7 +26,6 @@ jobs: uses: actions/setup-node@v4 with: node-version: 20 - cache: pnpm - name: 🧹 Lint Projects run: pnpm i; pnpm nx run-many -t lint -p docs docs-e2e website website-e2e portal portal-e2e --verbose From 75b33bc9ef8a3477718cae01c232787fa44a0969 Mon Sep 17 00:00:00 2001 From: Mumtahin Farabi Date: Fri, 4 Oct 2024 23:34:32 -0400 Subject: [PATCH 50/50] ci(build): add back playwright browser install --- .github/workflows/BUILD.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/BUILD.yml b/.github/workflows/BUILD.yml index c9db04849..b3fdfb014 100644 --- a/.github/workflows/BUILD.yml +++ b/.github/workflows/BUILD.yml @@ -30,6 +30,9 @@ jobs: - name: 🧹 Lint Projects run: pnpm i; pnpm nx run-many -t lint -p docs docs-e2e website website-e2e portal portal-e2e --verbose + - name: 🎭 Install Playwright Browsers + run: pnpm playwright install --with-deps + - name: πŸ“š Build Docs run: pnpm nx build docs --verbose