mirror of
https://github.com/ComposioHQ/composio.git
synced 2026-09-22 11:46:35 +08:00
6c08f17637
The loader was copied into four packages, identical but for one path constant. Core now owns it and the Zod, Effect, and CLI suites re-export it. It also read its fixture with node:fs, which pulled @types/node into the Zod and Effect test typechecks for the first time and broke them against the Node 26 line the workspace was pinned to. That had been worked around by centralizing @types/node on a Node 24 catalog entry across ten manifests. resolveJsonModule is already enabled in every consumer, so a static JSON import removes the node:fs dependency and the whole detour with it: the catalog entry, the pnpm override, the per-package types fields, and 171 lines of lockfile churn are all reverted.
106 lines
3.5 KiB
JSON
106 lines
3.5 KiB
JSON
{
|
|
"$schema": "https://turbo.build/schema.json",
|
|
// pnpm is installed and enforced by mise (`npm:pnpm` in mise.toml). The root
|
|
// `packageManager` field exists for tools like Turbo that need explicit
|
|
// workspace package-manager metadata; keep it aligned with mise.toml.
|
|
"dangerouslyDisablePackageManagerCheck": true,
|
|
// The toolchain (node, bun, pnpm, tsgo host) is pinned by mise, not by
|
|
// package.json/lockfile, so toolchain bumps must invalidate every task hash
|
|
// or restored CI caches would skip the very runs meant to validate them.
|
|
"globalDependencies": ["mise.toml", "mise.lock"],
|
|
"tasks": {
|
|
"build": {
|
|
"dependsOn": ["^build"],
|
|
"inputs": [
|
|
"$TURBO_DEFAULT$",
|
|
"tsdown.config.ts",
|
|
// for core
|
|
"../../../tsdown.config.base.ts",
|
|
"../../../tsconfig.base.json",
|
|
// for providers
|
|
"../../../../tsdown.config.base.ts",
|
|
"../../../../tsconfig.base.json"
|
|
],
|
|
"outputs": ["dist/"]
|
|
},
|
|
"test": {
|
|
"dependsOn": ["^build"],
|
|
// the shared cross-SDK JSON Schema conversion corpus and its loader are
|
|
// owned by `@composio/core` but imported by the Zod, Effect, and CLI test
|
|
// suites, whose $TURBO_DEFAULT$ inputs stop at their own package directory
|
|
"inputs": ["$TURBO_DEFAULT$", "../core/test/fixtures/json-schema-conversion/*"]
|
|
},
|
|
"test:e2e": {
|
|
"dependsOn": ["^build"],
|
|
"env": ["ANTHROPIC_API_KEY", "COMPOSIO_API_KEY", "COMPOSIO_BASE_URL", "COMPOSIO_USER_API_KEY", "OPENAI_API_KEY"],
|
|
"cache": false
|
|
},
|
|
"test:e2e:node": {
|
|
"dependsOn": ["^build"],
|
|
"env": ["ANTHROPIC_API_KEY", "COMPOSIO_API_KEY", "COMPOSIO_BASE_URL", "COMPOSIO_USER_API_KEY", "COMPOSIO_E2E_NODE_VERSION", "OPENAI_API_KEY"],
|
|
"cache": false
|
|
},
|
|
"test:e2e:deno": {
|
|
"dependsOn": ["^build"],
|
|
"env": ["COMPOSIO_API_KEY", "COMPOSIO_BASE_URL", "COMPOSIO_USER_API_KEY", "COMPOSIO_E2E_DENO_VERSION", "OPENAI_API_KEY"],
|
|
"cache": false
|
|
},
|
|
"test:e2e:cli": {
|
|
"dependsOn": ["^build"],
|
|
"env": ["COMPOSIO_API_KEY", "COMPOSIO_BASE_URL", "COMPOSIO_USER_API_KEY", "COMPOSIO_E2E_CLI_VERSION", "OPENAI_API_KEY"],
|
|
"cache": false
|
|
},
|
|
"test:e2e:install": {
|
|
"env": ["COMPOSIO_INSTALL_E2E_MODE", "COMPOSIO_INSTALL_E2E_SHELL", "COMPOSIO_INSTALL_E2E_VERSION", "COMPOSIO_INSTALL_E2E_RELEASE_DIR"],
|
|
"cache": false
|
|
},
|
|
"test:e2e:cloudflare": {
|
|
"dependsOn": ["^build"],
|
|
"env": ["COMPOSIO_API_KEY", "COMPOSIO_BASE_URL", "COMPOSIO_USER_API_KEY", "OPENAI_API_KEY"],
|
|
"cache": false
|
|
},
|
|
"install:binary": {
|
|
"dependsOn": ["build:binary"],
|
|
"cache": false
|
|
},
|
|
"clean": {
|
|
"cache": false
|
|
},
|
|
"typecheck": {
|
|
"dependsOn": ["^build"],
|
|
// package tsconfigs extend the root base config, which lives outside the
|
|
// package dirs and is therefore not part of $TURBO_DEFAULT$
|
|
"inputs": [
|
|
"$TURBO_DEFAULT$",
|
|
// for core
|
|
"../../../tsconfig.base.json",
|
|
// for providers
|
|
"../../../../tsconfig.base.json"
|
|
]
|
|
},
|
|
"lint": {
|
|
"inputs": ["$TURBO_DEFAULT$", "../../../.oxlintrc.json"]
|
|
},
|
|
"cf:dry-run": {
|
|
"dependsOn": ["^build"]
|
|
},
|
|
"//#clean": {
|
|
"cache": false
|
|
},
|
|
"record": {
|
|
"dependsOn": ["^build"],
|
|
"inputs": [
|
|
"src/**",
|
|
"scripts/record.ts",
|
|
"recordings/recordings.yaml"
|
|
],
|
|
"outputs": [
|
|
"recordings/tapes/**",
|
|
"recordings/svgs/**",
|
|
"recordings/ascii/**"
|
|
],
|
|
"env": ["COMPOSIO_API_KEY"]
|
|
}
|
|
}
|
|
}
|