diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000000..bfa59fc142 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,27 @@ +const path = require("path") + +module.exports = { + root: true, + parser: "@typescript-eslint/parser", + parserOptions: { + project: [path.resolve(__dirname, "./packages/**/tsconfig.eslint.json")], + }, + extends: ["standard-with-typescript", "prettier"], + globals: { + localStorage: "readonly", + location: "readonly", + fetch: "readonly", + }, + rules: { + camelcase: "off", + "@typescript-eslint/naming-convention": "off", + "@typescript-eslint/strict-boolean-expressions": "off", + "@typescript-eslint/explicit-function-return-type": "off", + "@typescript-eslint/restrict-template-expressions": "off", + }, + plugins: ["jest"], + env: { + "jest/globals": true, + }, + ignorePatterns: [".eslintrc.js"], +} diff --git a/package.json b/package.json index 7c035c3279..94ecd35b49 100644 --- a/package.json +++ b/package.json @@ -6,20 +6,20 @@ "scripts": { "build:app": "turbo run build --filter=next-auth-app --include-dependencies", "build": "turbo run build --filter=next-auth --filter=@next-auth/* --no-deps", + "lint": "turbo run lint --filter=!next-auth-docs --parallel", + "test": "turbo run test --concurrency=1 --filter=!@next-auth/pouchdb-adapter --filter=!@next-auth/mikro-orm-adapter --filter=!@next-auth/upstash-redis-adapter --filter=!next-auth-* --filter=[HEAD^1]", "clean": "turbo run clean --no-cache", "dev:app": "turbo run dev --parallel --continue --filter=next-auth-app...", "dev:docs": "turbo run dev --filter=next-auth-docs", "dev": "pnpm dev:app", "email": "cd apps/dev && pnpm email", - "lint:fix": "turbo run lint -- --fix", - "lint": "turbo run lint --filter=!next-auth-docs", "release": "release", - "test": "turbo run test --concurrency=1 --filter=!@next-auth/pouchdb-adapter --filter=!@next-auth/upstash-redis-adapter --filter=!@next-auth/mikro-orm-adapter --filter=!next-auth-* --filter=[HEAD^1]", "version:pr": "node ./config/version-pr" }, "devDependencies": { "@actions/core": "^1.6.0", "@balazsorban/monorepo-release": "0.0.4", + "@types/jest": "^28.1.3", "@types/node": "^17.0.25", "@typescript-eslint/eslint-plugin": "^5.10.2", "@typescript-eslint/parser": "^4.33.0", @@ -27,18 +27,20 @@ "eslint-config-prettier": "^8.3.0", "eslint-config-standard-with-typescript": "^21.0.1", "eslint-plugin-import": "^2.25.4", - "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jest": "^27.0.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^6.0.0", "husky": "^7.0.4", "prettier": "2.4.1", "pretty-quick": "^3.1.2", + "semver": "7.3.5", + "stream-to-array": "2.3.0", + "ts-node": "10.5.0", "turbo": "1.3.1", - "typescript": "^4.5.2" + "typescript": "4.7.4" }, "engines": { - "node": "^12.19.0 || ^14.15.0 || ^16.13.0", - "pnpm": ">=6.32.3" + "node": "^12.19.0 || ^14.15.0 || ^16.13.0" }, "prettier": { "semi": false, @@ -52,55 +54,6 @@ } ] }, - "eslintConfig": { - "parser": "@typescript-eslint/parser", - "extends": [ - "standard-with-typescript", - "prettier" - ], - "ignorePatterns": [ - "node_modules", - "next-env.d.ts", - "types", - ".next", - "dist", - "/core", - "/react.js" - ], - "globals": { - "localStorage": "readonly", - "location": "readonly", - "fetch": "readonly" - }, - "rules": { - "camelcase": "off", - "@typescript-eslint/naming-convention": "off", - "@typescript-eslint/strict-boolean-expressions": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/restrict-template-expressions": "off" - }, - "overrides": [ - { - "files": [ - "./**/*test.js" - ], - "env": { - "jest/globals": true - }, - "extends": [ - "plugin:jest/recommended" - ], - "plugins": [ - "jest" - ] - } - ] - }, - "eslintIgnore": [ - "./*.d.ts", - "**/tests", - "**/__tests__" - ], "packageManager": "pnpm@7.5.1", "funding": [ { diff --git a/packages/adapter-dgraph/tsconfig.eslint.json b/packages/adapter-dgraph/tsconfig.eslint.json new file mode 100644 index 0000000000..29e65cc059 --- /dev/null +++ b/packages/adapter-dgraph/tsconfig.eslint.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "include": ["tests", "src"], + "exclude": [ + "./*.js", + "./*.d.ts", + ] +} \ No newline at end of file diff --git a/packages/adapter-dgraph/tsconfig.json b/packages/adapter-dgraph/tsconfig.json index bf0a7cabce..0b19a117e6 100644 --- a/packages/adapter-dgraph/tsconfig.json +++ b/packages/adapter-dgraph/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@next-auth/tsconfig/adapters.json", + "extends": "@next-auth/tsconfig/tsconfig.adapters.json", "compilerOptions": { "rootDir": "src", "outDir": "dist" diff --git a/packages/adapter-dynamodb/tsconfig.eslint.json b/packages/adapter-dynamodb/tsconfig.eslint.json new file mode 100644 index 0000000000..29e65cc059 --- /dev/null +++ b/packages/adapter-dynamodb/tsconfig.eslint.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "include": ["tests", "src"], + "exclude": [ + "./*.js", + "./*.d.ts", + ] +} \ No newline at end of file diff --git a/packages/adapter-dynamodb/tsconfig.json b/packages/adapter-dynamodb/tsconfig.json index 96087ce623..25edd95ea7 100644 --- a/packages/adapter-dynamodb/tsconfig.json +++ b/packages/adapter-dynamodb/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@next-auth/tsconfig/adapters.json", + "extends": "@next-auth/tsconfig/tsconfig.adapters.json", "compilerOptions": { "rootDir": "src", "outDir": "dist" diff --git a/packages/adapter-fauna/tsconfig.eslint.json b/packages/adapter-fauna/tsconfig.eslint.json new file mode 100644 index 0000000000..29e65cc059 --- /dev/null +++ b/packages/adapter-fauna/tsconfig.eslint.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "include": ["tests", "src"], + "exclude": [ + "./*.js", + "./*.d.ts", + ] +} \ No newline at end of file diff --git a/packages/adapter-fauna/tsconfig.json b/packages/adapter-fauna/tsconfig.json index bf0a7cabce..0b19a117e6 100644 --- a/packages/adapter-fauna/tsconfig.json +++ b/packages/adapter-fauna/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@next-auth/tsconfig/adapters.json", + "extends": "@next-auth/tsconfig/tsconfig.adapters.json", "compilerOptions": { "rootDir": "src", "outDir": "dist" diff --git a/packages/adapter-firebase/tsconfig.eslint.json b/packages/adapter-firebase/tsconfig.eslint.json new file mode 100644 index 0000000000..29e65cc059 --- /dev/null +++ b/packages/adapter-firebase/tsconfig.eslint.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "include": ["tests", "src"], + "exclude": [ + "./*.js", + "./*.d.ts", + ] +} \ No newline at end of file diff --git a/packages/adapter-firebase/tsconfig.json b/packages/adapter-firebase/tsconfig.json index 467e556265..7e5db014b9 100644 --- a/packages/adapter-firebase/tsconfig.json +++ b/packages/adapter-firebase/tsconfig.json @@ -1,10 +1,11 @@ { - "extends": "@next-auth/tsconfig/adapters.json", + "extends": "@next-auth/tsconfig/tsconfig.base.json", "compilerOptions": { "rootDir": "src", "outDir": "dist", "strict": true, - "noUncheckedIndexedAccess": true + "noUncheckedIndexedAccess": true, + "moduleResolution": "node" }, "exclude": ["tests", "dist", "jest.config.js"] } diff --git a/packages/adapter-mikro-orm/tsconfig.eslint.json b/packages/adapter-mikro-orm/tsconfig.eslint.json new file mode 100644 index 0000000000..29e65cc059 --- /dev/null +++ b/packages/adapter-mikro-orm/tsconfig.eslint.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "include": ["tests", "src"], + "exclude": [ + "./*.js", + "./*.d.ts", + ] +} \ No newline at end of file diff --git a/packages/adapter-mikro-orm/tsconfig.json b/packages/adapter-mikro-orm/tsconfig.json index 365f21aca2..60a90b184b 100644 --- a/packages/adapter-mikro-orm/tsconfig.json +++ b/packages/adapter-mikro-orm/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@next-auth/tsconfig/adapters.json", + "extends": "@next-auth/tsconfig/tsconfig.adapters.json", "compilerOptions": { "experimentalDecorators": true, "emitDecoratorMetadata": true, diff --git a/packages/adapter-mongodb/tsconfig.eslint.json b/packages/adapter-mongodb/tsconfig.eslint.json new file mode 100644 index 0000000000..29e65cc059 --- /dev/null +++ b/packages/adapter-mongodb/tsconfig.eslint.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "include": ["tests", "src"], + "exclude": [ + "./*.js", + "./*.d.ts", + ] +} \ No newline at end of file diff --git a/packages/adapter-mongodb/tsconfig.json b/packages/adapter-mongodb/tsconfig.json index bf0a7cabce..0b19a117e6 100644 --- a/packages/adapter-mongodb/tsconfig.json +++ b/packages/adapter-mongodb/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@next-auth/tsconfig/adapters.json", + "extends": "@next-auth/tsconfig/tsconfig.adapters.json", "compilerOptions": { "rootDir": "src", "outDir": "dist" diff --git a/packages/adapter-neo4j/tsconfig.eslint.json b/packages/adapter-neo4j/tsconfig.eslint.json new file mode 100644 index 0000000000..29e65cc059 --- /dev/null +++ b/packages/adapter-neo4j/tsconfig.eslint.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "include": ["tests", "src"], + "exclude": [ + "./*.js", + "./*.d.ts", + ] +} \ No newline at end of file diff --git a/packages/adapter-neo4j/tsconfig.json b/packages/adapter-neo4j/tsconfig.json index bf0a7cabce..0b19a117e6 100644 --- a/packages/adapter-neo4j/tsconfig.json +++ b/packages/adapter-neo4j/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@next-auth/tsconfig/adapters.json", + "extends": "@next-auth/tsconfig/tsconfig.adapters.json", "compilerOptions": { "rootDir": "src", "outDir": "dist" diff --git a/packages/adapter-pouchdb/tsconfig.eslint.json b/packages/adapter-pouchdb/tsconfig.eslint.json new file mode 100644 index 0000000000..29e65cc059 --- /dev/null +++ b/packages/adapter-pouchdb/tsconfig.eslint.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "include": ["tests", "src"], + "exclude": [ + "./*.js", + "./*.d.ts", + ] +} \ No newline at end of file diff --git a/packages/adapter-pouchdb/tsconfig.json b/packages/adapter-pouchdb/tsconfig.json index f41e38c955..666b10e1a0 100644 --- a/packages/adapter-pouchdb/tsconfig.json +++ b/packages/adapter-pouchdb/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@next-auth/tsconfig/base.json", + "extends": "@next-auth/tsconfig/tsconfig.base.json", "compilerOptions": { "rootDir": "src", "outDir": "dist", diff --git a/packages/adapter-prisma/tests/index.test.ts b/packages/adapter-prisma/tests/index.test.ts index b2019f6a74..ff056c7e3d 100644 --- a/packages/adapter-prisma/tests/index.test.ts +++ b/packages/adapter-prisma/tests/index.test.ts @@ -1,8 +1,8 @@ import { randomUUID, runBasicTests } from "@next-auth/adapter-test" import { PrismaClient } from "@prisma/client" import { PrismaAdapter } from "../src" -const prisma = new PrismaClient() import { ObjectId } from "mongodb" +const prisma = new PrismaClient() runBasicTests({ adapter: PrismaAdapter(prisma), diff --git a/packages/adapter-prisma/tsconfig.eslint.json b/packages/adapter-prisma/tsconfig.eslint.json new file mode 100644 index 0000000000..29e65cc059 --- /dev/null +++ b/packages/adapter-prisma/tsconfig.eslint.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "include": ["tests", "src"], + "exclude": [ + "./*.js", + "./*.d.ts", + ] +} \ No newline at end of file diff --git a/packages/adapter-prisma/tsconfig.json b/packages/adapter-prisma/tsconfig.json index f6f9242616..2cb9d1742a 100644 --- a/packages/adapter-prisma/tsconfig.json +++ b/packages/adapter-prisma/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@next-auth/tsconfig/adapters.json", + "extends": "@next-auth/tsconfig/tsconfig.adapters.json", "compilerOptions": { "rootDir": "src", "outDir": "dist" diff --git a/packages/adapter-sequelize/tsconfig.eslint.json b/packages/adapter-sequelize/tsconfig.eslint.json new file mode 100644 index 0000000000..29e65cc059 --- /dev/null +++ b/packages/adapter-sequelize/tsconfig.eslint.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "include": ["tests", "src"], + "exclude": [ + "./*.js", + "./*.d.ts", + ] +} \ No newline at end of file diff --git a/packages/adapter-sequelize/tsconfig.json b/packages/adapter-sequelize/tsconfig.json index bf0a7cabce..0b19a117e6 100644 --- a/packages/adapter-sequelize/tsconfig.json +++ b/packages/adapter-sequelize/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@next-auth/tsconfig/adapters.json", + "extends": "@next-auth/tsconfig/tsconfig.adapters.json", "compilerOptions": { "rootDir": "src", "outDir": "dist" diff --git a/packages/adapter-typeorm-legacy/tsconfig.eslint.json b/packages/adapter-typeorm-legacy/tsconfig.eslint.json new file mode 100644 index 0000000000..29e65cc059 --- /dev/null +++ b/packages/adapter-typeorm-legacy/tsconfig.eslint.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "include": ["tests", "src"], + "exclude": [ + "./*.js", + "./*.d.ts", + ] +} \ No newline at end of file diff --git a/packages/adapter-typeorm-legacy/tsconfig.json b/packages/adapter-typeorm-legacy/tsconfig.json index 4a30103fe5..7e19e2e050 100644 --- a/packages/adapter-typeorm-legacy/tsconfig.json +++ b/packages/adapter-typeorm-legacy/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@next-auth/tsconfig/adapters.json", + "extends": "@next-auth/tsconfig/tsconfig.adapters.json", "compilerOptions": { "rootDir": "src", "outDir": "dist", diff --git a/packages/adapter-upstash-redis/tsconfig.eslint.json b/packages/adapter-upstash-redis/tsconfig.eslint.json new file mode 100644 index 0000000000..29e65cc059 --- /dev/null +++ b/packages/adapter-upstash-redis/tsconfig.eslint.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "include": ["tests", "src"], + "exclude": [ + "./*.js", + "./*.d.ts", + ] +} \ No newline at end of file diff --git a/packages/adapter-upstash-redis/tsconfig.json b/packages/adapter-upstash-redis/tsconfig.json index bf0a7cabce..0b19a117e6 100644 --- a/packages/adapter-upstash-redis/tsconfig.json +++ b/packages/adapter-upstash-redis/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@next-auth/tsconfig/adapters.json", + "extends": "@next-auth/tsconfig/tsconfig.adapters.json", "compilerOptions": { "rootDir": "src", "outDir": "dist" diff --git a/packages/next-auth/package.json b/packages/next-auth/package.json index e6f497cfda..9b6f58a4f9 100644 --- a/packages/next-auth/package.json +++ b/packages/next-auth/package.json @@ -38,8 +38,8 @@ }, "scripts": { "build": "pnpm clean && pnpm build:js && pnpm build:css", + "build:js": "pnpm clean && pnpm generate-providers && pnpm tsc --project tsconfig.json && babel --config-file ./config/babel.config.js src --out-dir . --extensions \".tsx,.ts,.js,.jsx\"", "clean": "rm -rf coverage client css utils providers core jwt react next index.d.ts index.js adapters.d.ts middleware.d.ts middleware.js", - "build:js": "pnpm generate-providers && tsc && babel --config-file ./config/babel.config.js src --out-dir . --extensions \".tsx,.ts,.js,.jsx\"", "build:css": "postcss --config config/postcss.config.js src/**/*.css --base src --dir . && node config/wrap-css.js", "dev": "pnpm clean && pnpm generate-providers && concurrently \"pnpm watch:css\" \"pnpm watch:ts\"", "watch:ts": "pnpm tsc --project tsconfig.dev.json", @@ -47,7 +47,7 @@ "test": "jest --config ./config/jest.config.js", "prepublishOnly": "pnpm build", "generate-providers": "node ./config/generate-providers.js", - "lint": "eslint src config" + "lint": "eslint src config tests" }, "files": [ "lib", @@ -128,15 +128,5 @@ }, "engines": { "node": "^12.19.0 || ^14.15.0 || ^16.13.0" - }, - "eslintConfig": { - "parserOptions": { - "project": "./tsconfig.eslint.json" - } - }, - "eslintIgnore": [ - "./*.d.ts", - "**/tests", - "**/__tests__" - ] + } } diff --git a/packages/next-auth/tests/getServerSession.test.ts b/packages/next-auth/tests/getServerSession.test.ts index 78b17923af..59e463bab0 100644 --- a/packages/next-auth/tests/getServerSession.test.ts +++ b/packages/next-auth/tests/getServerSession.test.ts @@ -3,13 +3,14 @@ import { MissingSecret } from "../src/core/errors" import { unstable_getServerSession } from "../src/next" import { mockLogger } from "./lib" -let originalWarn = console.warn +const originalWarn = console.warn let logger = mockLogger() const req: any = { headers: {} } const res: any = { setHeader: jest.fn(), getHeader: jest.fn() } beforeEach(() => { + // @ts-expect-error process.env.NODE_ENV = "production" process.env.NEXTAUTH_URL = "http://localhost" console.warn = jest.fn() @@ -17,6 +18,7 @@ beforeEach(() => { afterEach(() => { logger = mockLogger() + // @ts-expect-error process.env.NODE_ENV = "test" delete process.env.NEXTAUTH_URL console.warn = originalWarn @@ -61,6 +63,7 @@ describe("Treat secret correctly", () => { expect(console.warn).toBeCalledTimes(0) // Expect console.warn to be called ONCE due to NODE_ENV=development + // @ts-expect-error process.env.NODE_ENV = "development" await unstable_getServerSession(req, res, { providers: [], logger }) expect(console.warn).toBeCalledTimes(1) @@ -78,6 +81,7 @@ describe("Return correct data", () => { it("Should return null if there is no session", async () => { const spy = jest.spyOn(core, "NextAuthHandler") + // @ts-expect-error spy.mockReturnValue({ body: {} }) const session = await unstable_getServerSession(req, res, { @@ -103,6 +107,7 @@ describe("Return correct data", () => { } const spy = jest.spyOn(core, "NextAuthHandler") + // @ts-expect-error spy.mockReturnValue(mockedResponse) const session = await unstable_getServerSession(req, res, { diff --git a/packages/next-auth/tests/lib.ts b/packages/next-auth/tests/lib.ts index 47462de566..60d7ee8e50 100644 --- a/packages/next-auth/tests/lib.ts +++ b/packages/next-auth/tests/lib.ts @@ -20,7 +20,7 @@ export async function handler( options: NextAuthOptions, { prod, path, params, requestInit }: HandlerOptions ) { - // @ts-ignore + // @ts-expect-error if (prod) process.env.NODE_ENV = "production" const url = new URL( @@ -34,7 +34,7 @@ export async function handler( req, options: { secret: "secret", ...options, logger }, }) - // @ts-ignore + // @ts-expect-error if (prod) process.env.NODE_ENV = "test" return { @@ -59,8 +59,10 @@ export function createCSRF() { } export function mockAdapter(): Adapter { - return { + // @ts-expect-error + const adapter: Adapter = { createVerificationToken: jest.fn(() => {}), getUserByEmail: jest.fn(() => {}), - } as Adapter + } + return adapter; } diff --git a/packages/next-auth/tsconfig.eslint.json b/packages/next-auth/tsconfig.eslint.json index f07bf8c3fc..ba5b627bcb 100644 --- a/packages/next-auth/tsconfig.eslint.json +++ b/packages/next-auth/tsconfig.eslint.json @@ -1,4 +1,13 @@ { "extends": "./tsconfig.json", - "exclude": ["./*.d.ts", "**/tests", "**/__tests__"] -} + "include": ["./tests", "./src", "./config"], + "compilerOptions": { + "types": ["@types/jest"], + "typeRoots": ["./node_modules/@types"] + }, + "exclude": [ + "./coverage", + "./*.js", + "./*.d.ts", + ] +} \ No newline at end of file diff --git a/packages/next-auth/tsconfig.json b/packages/next-auth/tsconfig.json index ea7d7a9fdc..8c518193b9 100644 --- a/packages/next-auth/tsconfig.json +++ b/packages/next-auth/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@next-auth/tsconfig/base.json", + "extends": "@next-auth/tsconfig/tsconfig.base.json", "compilerOptions": { "emitDeclarationOnly": true, "strictNullChecks": true, @@ -17,11 +17,11 @@ "outDir": ".", }, "exclude": [ - "./*.js", - "./*.d.ts", - "config", - "**/__tests__", - "tests", - "coverage" + "./*.js", + "./*.d.ts", + "./config", + "./tests", + "./coverage", + "./**/__test__" ] } diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json index e46ec7c19e..0c02276793 100644 --- a/packages/tsconfig/package.json +++ b/packages/tsconfig/package.json @@ -1,11 +1,11 @@ { + "private": true, "name": "@next-auth/tsconfig", "private": true, "version": "0.0.0", - "license": "MIT", - "main": "index.js", "files": [ - "adapters.json", - "base.json" + "tsconfig.adapters.json", + "tsconfig.base.json", + "tsconfig.eslint.json" ] } diff --git a/packages/tsconfig/adapters.json b/packages/tsconfig/tsconfig.adapters.json similarity index 71% rename from packages/tsconfig/adapters.json rename to packages/tsconfig/tsconfig.adapters.json index 30aabf1b7d..d2b39a113d 100644 --- a/packages/tsconfig/adapters.json +++ b/packages/tsconfig/tsconfig.adapters.json @@ -1,8 +1,8 @@ { - "extends": "./base.json", + "extends": "./tsconfig.base.json", "compilerOptions": { "target": "ES2019", "module": "commonjs", "strict": true } -} \ No newline at end of file +} diff --git a/packages/tsconfig/base.json b/packages/tsconfig/tsconfig.base.json similarity index 85% rename from packages/tsconfig/base.json rename to packages/tsconfig/tsconfig.base.json index ec4c69c8bd..52f6e76583 100644 --- a/packages/tsconfig/base.json +++ b/packages/tsconfig/tsconfig.base.json @@ -4,6 +4,6 @@ "forceConsistentCasingInFileNames": true, "esModuleInterop": true, "declaration": true, - "skipLibCheck": true + "skipLibCheck": true, } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 75e3f910da..0a9ddb5f60 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,6 +6,7 @@ importers: specifiers: '@actions/core': ^1.6.0 '@balazsorban/monorepo-release': 0.0.4 + '@types/jest': ^28.1.3 '@types/node': ^17.0.25 '@typescript-eslint/eslint-plugin': ^5.10.2 '@typescript-eslint/parser': ^4.33.0 @@ -13,17 +14,21 @@ importers: eslint-config-prettier: ^8.3.0 eslint-config-standard-with-typescript: ^21.0.1 eslint-plugin-import: ^2.25.4 - eslint-plugin-jest: ^25.3.0 + eslint-plugin-jest: ^27.0.1 eslint-plugin-node: ^11.1.0 eslint-plugin-promise: ^6.0.0 husky: ^7.0.4 prettier: 2.4.1 pretty-quick: ^3.1.2 + semver: 7.3.5 + stream-to-array: 2.3.0 + ts-node: 10.5.0 turbo: 1.3.1 - typescript: ^4.5.2 + typescript: 4.7.4 devDependencies: '@actions/core': 1.9.0 '@balazsorban/monorepo-release': 0.0.4 + '@types/jest': 28.1.3 '@types/node': 17.0.45 '@typescript-eslint/eslint-plugin': 5.29.0_3ekaj7j3owlolnuhj3ykrb7u7i '@typescript-eslint/parser': 4.33.0_hxadhbs2xogijvk7vq4t2azzbu @@ -31,12 +36,15 @@ importers: eslint-config-prettier: 8.5.0_eslint@7.32.0 eslint-config-standard-with-typescript: 21.0.1_wku6qe4ns7jbrowxtfd54afziq eslint-plugin-import: 2.26.0_ffi3uiz42rv3jyhs6cr7p7qqry - eslint-plugin-jest: 25.7.0_vibe533nrfhlkvcegtsn4treva + eslint-plugin-jest: 27.0.2_vibe533nrfhlkvcegtsn4treva eslint-plugin-node: 11.1.0_eslint@7.32.0 eslint-plugin-promise: 6.0.0_eslint@7.32.0 husky: 7.0.4 prettier: 2.4.1 pretty-quick: 3.1.3_prettier@2.4.1 + semver: 7.3.5 + stream-to-array: 2.3.0 + ts-node: 10.5.0_x2utdhayajzrh747hktprshhby turbo: 1.3.1 typescript: 4.7.4 @@ -3670,6 +3678,18 @@ packages: chalk: 4.1.2 dev: true + /@cspotcode/source-map-consumer/0.8.0: + resolution: {integrity: sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==} + engines: {node: '>= 12'} + dev: true + + /@cspotcode/source-map-support/0.7.0: + resolution: {integrity: sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==} + engines: {node: '>=12'} + dependencies: + '@cspotcode/source-map-consumer': 0.8.0 + dev: true + /@dabh/diagnostics/2.0.3: resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} dependencies: @@ -6429,6 +6449,22 @@ packages: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} + /@tsconfig/node10/1.0.9: + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + dev: true + + /@tsconfig/node12/1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: true + + /@tsconfig/node14/1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: true + + /@tsconfig/node16/1.0.3: + resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + dev: true + /@types/aria-query/4.2.2: resolution: {integrity: sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==} dev: true @@ -7105,19 +7141,6 @@ packages: - typescript dev: true - /@typescript-eslint/experimental-utils/5.29.0_hxadhbs2xogijvk7vq4t2azzbu: - resolution: {integrity: sha512-H4fqOVYiH6R15NjtMO2LVBZgzXgzjdPEXYb7x/meg4QbXsptLxdq8YlHK2NZOFKipuInY4sAPY5a6SQ/53s3dw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@typescript-eslint/utils': 5.29.0_hxadhbs2xogijvk7vq4t2azzbu - eslint: 7.32.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@typescript-eslint/parser/4.33.0_hxadhbs2xogijvk7vq4t2azzbu: resolution: {integrity: sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==} engines: {node: ^10.12.0 || >=12.0.0} @@ -7724,6 +7747,10 @@ packages: dev: true optional: true + /arg/4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true + /arg/5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} dev: false @@ -9206,6 +9233,10 @@ packages: readable-stream: 3.6.0 dev: true + /create-require/1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true + /cross-env/5.2.1: resolution: {integrity: sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==} engines: {node: '>=4.0'} @@ -10313,6 +10344,11 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dev: true + /diff/4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true + /dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -10982,12 +11018,12 @@ packages: - supports-color dev: true - /eslint-plugin-jest/25.7.0_vibe533nrfhlkvcegtsn4treva: - resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + /eslint-plugin-jest/27.0.2_vibe533nrfhlkvcegtsn4treva: + resolution: {integrity: sha512-VEZaj19IMxqg/URcHNT4PhfoJJ1EsFurgq0SjMEYprDCq+et9fKkE4jIHnAsFh3mHLPBgAq04YQqkeW3slXs+Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/eslint-plugin': ^4.0.0 || ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/eslint-plugin': ^5.0.0 + eslint: ^7.0.0 || ^8.0.0 jest: '*' peerDependenciesMeta: '@typescript-eslint/eslint-plugin': @@ -10996,7 +11032,7 @@ packages: optional: true dependencies: '@typescript-eslint/eslint-plugin': 5.29.0_3ekaj7j3owlolnuhj3ykrb7u7i - '@typescript-eslint/experimental-utils': 5.29.0_hxadhbs2xogijvk7vq4t2azzbu + '@typescript-eslint/utils': 5.29.0_hxadhbs2xogijvk7vq4t2azzbu eslint: 7.32.0 transitivePeerDependencies: - supports-color @@ -11114,7 +11150,7 @@ packages: optionator: 0.9.1 progress: 2.0.3 regexpp: 3.2.0 - semver: 7.3.5 + semver: 7.3.7 strip-ansi: 6.0.1 strip-json-comments: 3.1.1 table: 6.8.0 @@ -19272,7 +19308,7 @@ packages: dev: true /stream-to-array/2.3.0: - resolution: {integrity: sha1-u/azn19D7DC8cbq8s3VXrOzzQ1M=} + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} dependencies: any-promise: 1.3.0 dev: true @@ -20033,6 +20069,37 @@ packages: yargs-parser: 20.2.9 dev: true + /ts-node/10.5.0_x2utdhayajzrh747hktprshhby: + resolution: {integrity: sha512-6kEJKwVxAJ35W4akuiysfKwKmjkbYxwQMTBaAxo9KKAx/Yd26mPUyhGz3ji+EsJoAgrLqVsYHNuuYwQe22lbtw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.7.0 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.3 + '@types/node': 17.0.45 + acorn: 8.7.1 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 4.7.4 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + /tsconfig-paths/3.14.1: resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} dependencies: @@ -20794,6 +20861,10 @@ packages: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true + /v8-compile-cache-lib/3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true + /v8-compile-cache/2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: true @@ -21453,6 +21524,11 @@ packages: yargs-parser: 21.0.1 dev: true + /yn/3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: true + /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'}