X/Twitter structural support + per-package tsconfig scoping
X/Twitter (live posting gated on an X developer app, registered separately): - schema: add 'twitter' to OutletSchema (sanitize 280-char limit already present). - packages/twitter-client: X API v2 client (POST /2/tweets, OAuth2 user Bearer), injectable fetch, 280-char guard; 4 contract tests. - apps/scheduler/src/dispatch.ts: makeOutletDispatcher routes by outlet (linkedin.* -> linkedin, twitter -> twitter), fail-closed for unconfigured outlets; 4 tests. main.ts wires both outlets fail-closed until creds exist. Monorepo fix: add a local tsconfig.json (extends root, include src) to each package + non-admin app. Without it, every package's `tsc --noEmit` compiled the WHOLE repo via the root config (no JSX/DOM) and choked on the admin .tsx — masked until now by turbo build caching. Tests: 135 passing + 13 gated across 12 tasks. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "@stargue/twitter-client",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "./src/index.ts",
|
||||
"types": "./src/index.ts",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc --noEmit",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"test": "vitest run",
|
||||
"lint": "echo 'lint pending'"
|
||||
},
|
||||
"devDependencies": {
|
||||
"vitest": "^2.1.0",
|
||||
"typescript": "^5.7.0"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user