feat: Auth package scaffolding (#23)

This commit is contained in:
Brace Sproul 2025-05-26 13:20:52 -07:00 • committed by GitHub
parent 64e0e2e0d7
commit b3625469f5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 189 additions and 5 deletions

View file

4
apps/auth/.dockerignore Normal file
View file

@ -0,0 +1,4 @@
node_modules
.next
.git
.env

28
apps/auth/.gitignore vendored Normal file
View file

@ -0,0 +1,28 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
# LangGraph API
.langgraph_api
.env

4
apps/auth/.prettierrc Normal file
View file

@ -0,0 +1,4 @@
{
"tabWidth": 2,
"useTabs": false
}

View file

@ -0,0 +1,28 @@
import js from "@eslint/js";
import globals from "globals";
import tseslint from "typescript-eslint";
export default tseslint.config(
{ ignores: ["dist"] },
{
extends: [js.configs.recommended, ...tseslint.configs.recommended],
files: ["**/*.{ts,tsx}"],
languageOptions: {
ecmaVersion: 2020,
globals: globals.node,
},
rules: {
"@typescript-eslint/no-explicit-any": 0,
"@typescript-eslint/no-unused-vars": [
"error",
{
args: "none",
argsIgnorePattern: "^_",
varsIgnorePattern: "^_",
caughtErrorsIgnorePattern: "^_",
},
],
"no-console": ["error"],
},
},
);

18
apps/auth/jest.config.js Normal file
View file

@ -0,0 +1,18 @@
export default {
preset: "ts-jest/presets/default-esm",
moduleNameMapper: {
"^(\\.{1,2}/.*)\\.js$": "$1",
},
transform: {
"^.+\\.tsx?$": [
"ts-jest",
{
useESM: true,
},
],
},
extensionsToTreatAsEsm: [".ts"],
setupFiles: ["dotenv/config"],
passWithNoTests: true,
testTimeout: 20_000,
};

41
apps/auth/package.json Normal file
View file

@ -0,0 +1,41 @@
{
"name": "@open-swe/auth",
"homepage": "https://github.com/langchain-ai/open-swe/blob/main/README.md",
"repository": {
"type": "git",
"url": "https://github.com/langchain-ai/open-swe.git"
},
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"build": "tsc",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"format": "prettier --write .",
"format:check": "prettier --check .",
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathPattern=\\.test\\.ts$ --testPathIgnorePatterns=\\.int\\.test\\.ts$",
"test:int": "node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathPattern=\\.int\\.test\\.ts$",
"test:single": "NODE_OPTIONS=--experimental-vm-modules yarn run jest --config jest.config.js --testTimeout 100000"
},
"devDependencies": {
"@eslint/eslintrc": "^3.1.0",
"@eslint/js": "^9.19.0",
"@jest/globals": "^29.7.0",
"@tsconfig/recommended": "^1.0.8",
"@types/jest": "^29.5.0",
"@types/node": "^22.13.5",
"dotenv": "^16.4.7",
"eslint": "^9.19.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-no-instanceof": "^1.0.1",
"eslint-plugin-prettier": "^4.2.1",
"jest": "^29.7.0",
"prettier": "^3.5.2",
"ts-jest": "^29.1.0",
"typescript": "~5.7.2",
"typescript-eslint": "^8.22.0"
},
"packageManager": "yarn@3.5.1"
}

0
apps/auth/src/index.ts Normal file
View file

25
apps/auth/tsconfig.json Normal file
View file

@ -0,0 +1,25 @@
{
"extends": "@tsconfig/recommended",
"compilerOptions": {
"target": "ES2021",
"lib": ["ES2021", "ES2022.Object", "DOM"],
"module": "NodeNext",
"moduleResolution": "nodenext",
"esModuleInterop": true,
"noImplicitReturns": true,
"declaration": true,
"noFallthroughCasesInSwitch": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"useDefineForClassFields": true,
"strictPropertyInitialization": false,
"allowJs": true,
"strict": true,
"strictFunctionTypes": false,
"outDir": "dist",
"types": ["jest", "node"],
"resolveJsonModule": true
},
"include": ["**/*.ts", "**/*.js", "jest.setup.cjs"],
"exclude": ["node_modules", "dist"]
}

11
apps/auth/turbo.json Normal file
View file

@ -0,0 +1,11 @@
{
"extends": ["//"],
"tasks": {
"build": {
"outputs": [".dist/**"]
},
"dev": {
"dependsOn": ["^dev"]
}
}
}

View file

@ -54,5 +54,5 @@
"typescript": "~5.7.2",
"typescript-eslint": "^8.22.0"
},
"packageManager": "yarn@1.22.22"
"packageManager": "yarn@3.5.1"
}

View file

@ -2,10 +2,7 @@
"extends": ["//"],
"tasks": {
"build": {
"outputs": [".next/**", "!.next/cache/**"]
},
"build:internal": {
"dependsOn": ["^build:internal"]
"outputs": [".dist/**"]
},
"dev": {
"dependsOn": ["^dev"]

View file

@ -10,6 +10,7 @@
"build": "turbo build",
"turbo:command": "turbo",
"format": "turbo format",
"format:check": "turbo format:check",
"lint": "turbo lint",
"lint:fix": "turbo lint:fix"
},

View file

@ -15,6 +15,9 @@
"format": {
"dependsOn": ["^format"]
},
"format:check": {
"dependsOn": ["^format:check"]
},
"dev": {
"dependsOn": ["^dev"]
}

View file

@ -2181,6 +2181,30 @@ __metadata:
languageName: unknown
linkType: soft
"@open-swe/auth@workspace:apps/auth":
version: 0.0.0-use.local
resolution: "@open-swe/auth@workspace:apps/auth"
dependencies:
"@eslint/eslintrc": ^3.1.0
"@eslint/js": ^9.19.0
"@jest/globals": ^29.7.0
"@tsconfig/recommended": ^1.0.8
"@types/jest": ^29.5.0
"@types/node": ^22.13.5
dotenv: ^16.4.7
eslint: ^9.19.0
eslint-config-prettier: ^8.8.0
eslint-plugin-import: ^2.27.5
eslint-plugin-no-instanceof: ^1.0.1
eslint-plugin-prettier: ^4.2.1
jest: ^29.7.0
prettier: ^3.5.2
ts-jest: ^29.1.0
typescript: ~5.7.2
typescript-eslint: ^8.22.0
languageName: unknown
linkType: soft
"@openapi-contrib/openapi-schema-to-json-schema@npm:~3.2.0":
version: 3.2.0
resolution: "@openapi-contrib/openapi-schema-to-json-schema@npm:3.2.0"