chore: add devDependencies and tsconfig to example plugins

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
gsxdsm
2026-04-09 20:19:43 -07:00
parent 99baa9b040
commit d3851205ec
6 changed files with 197 additions and 11 deletions

View File

@@ -3,7 +3,9 @@
"version": "0.1.0", "version": "0.1.0",
"type": "module", "type": "module",
"description": "Automatically labels tasks based on description content", "description": "Automatically labels tasks based on description content",
"keywords": ["fusion-plugin"], "keywords": [
"fusion-plugin"
],
"exports": { "exports": {
".": { ".": {
"types": "./src/index.ts", "types": "./src/index.ts",
@@ -17,5 +19,9 @@
}, },
"dependencies": { "dependencies": {
"@fusion/plugin-sdk": "workspace:*" "@fusion/plugin-sdk": "workspace:*"
},
"devDependencies": {
"@types/node": "^25.5.2",
"vitest": "^3.2.4"
} }
} }

View File

@@ -3,7 +3,9 @@
"version": "0.1.0", "version": "0.1.0",
"type": "module", "type": "module",
"description": "Polls CI status for branches and provides a custom API to query results", "description": "Polls CI status for branches and provides a custom API to query results",
"keywords": ["fusion-plugin"], "keywords": [
"fusion-plugin"
],
"exports": { "exports": {
".": { ".": {
"types": "./src/index.ts", "types": "./src/index.ts",
@@ -17,5 +19,9 @@
}, },
"dependencies": { "dependencies": {
"@fusion/plugin-sdk": "workspace:*" "@fusion/plugin-sdk": "workspace:*"
},
"devDependencies": {
"@types/node": "^25.5.2",
"vitest": "^3.2.4"
} }
} }

View File

@@ -243,7 +243,7 @@ describe("ci-status plugin", () => {
(r) => r.method === "GET" && r.path === "/status", (r) => r.method === "GET" && r.path === "/status",
)!; )!;
const result = await route.handler(req as any, ctx as any); const result = await route.handler(req as any, ctx as any) as { branches?: unknown[] };
expect(result).toHaveProperty("branches"); expect(result).toHaveProperty("branches");
expect(Array.isArray(result.branches)).toBe(true); expect(Array.isArray(result.branches)).toBe(true);
@@ -281,7 +281,7 @@ describe("ci-status plugin", () => {
(r) => r.method === "GET" && r.path === "/status/:branch", (r) => r.method === "GET" && r.path === "/status/:branch",
)!; )!;
const result = await route.handler(req as any, ctx as any); const result = await route.handler(req as any, ctx as any) as { branch?: string; status?: string };
expect(result).toHaveProperty("branch", "fusion/fn-001"); expect(result).toHaveProperty("branch", "fusion/fn-001");
expect(result).toHaveProperty("status", "pending"); expect(result).toHaveProperty("status", "pending");
@@ -313,7 +313,7 @@ describe("ci-status plugin", () => {
(r) => r.method === "POST" && r.path === "/refresh", (r) => r.method === "POST" && r.path === "/refresh",
)!; )!;
const result = await route.handler(req as any, ctx as any); const result = await route.handler(req as any, ctx as any) as { refreshed?: boolean; branches?: unknown[] };
expect(result).toHaveProperty("refreshed", true); expect(result).toHaveProperty("refreshed", true);
expect(result).toHaveProperty("branches"); expect(result).toHaveProperty("branches");

View File

@@ -3,7 +3,9 @@
"version": "0.1.0", "version": "0.1.0",
"type": "module", "type": "module",
"description": "Example Fusion plugin that sends webhook notifications on task lifecycle events", "description": "Example Fusion plugin that sends webhook notifications on task lifecycle events",
"keywords": ["fusion-plugin"], "keywords": [
"fusion-plugin"
],
"exports": { "exports": {
".": { ".": {
"types": "./src/index.ts", "types": "./src/index.ts",
@@ -17,5 +19,9 @@
}, },
"dependencies": { "dependencies": {
"@fusion/plugin-sdk": "workspace:*" "@fusion/plugin-sdk": "workspace:*"
},
"devDependencies": {
"@types/node": "^25.5.2",
"vitest": "^3.2.4"
} }
} }

View File

@@ -0,0 +1,19 @@
{
"compilerOptions": {
"target": "ES2024",
"module": "Node16",
"moduleResolution": "Node16",
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"isolatedModules": true,
"outDir": "dist",
"rootDir": "src",
"types": ["node"]
}
}

159
pnpm-lock.yaml generated
View File

@@ -10,7 +10,7 @@ importers:
devDependencies: devDependencies:
'@changesets/cli': '@changesets/cli':
specifier: ^2.30.0 specifier: ^2.30.0
version: 2.30.0(@types/node@25.5.0) version: 2.30.0(@types/node@25.5.2)
tsx: tsx:
specifier: ^4.19.0 specifier: ^4.19.0
version: 4.21.0 version: 4.21.0
@@ -354,6 +354,22 @@ importers:
specifier: ^3.1.0 specifier: ^3.1.0
version: 3.2.4(@types/debug@4.1.13)(@types/node@22.19.15)(jiti@2.6.1)(jsdom@29.0.1)(tsx@4.21.0)(yaml@2.8.3) version: 3.2.4(@types/debug@4.1.13)(@types/node@22.19.15)(jiti@2.6.1)(jsdom@29.0.1)(tsx@4.21.0)(yaml@2.8.3)
packages/plugin-sdk:
dependencies:
'@fusion/core':
specifier: workspace:*
version: link:../core
devDependencies:
'@types/node':
specifier: ^25.5.0
version: 25.5.0
typescript:
specifier: ^5.7.0
version: 5.9.3
vitest:
specifier: ^3.1.0
version: 3.2.4(@types/debug@4.1.13)(@types/node@25.5.0)(jiti@2.6.1)(jsdom@29.0.1)(tsx@4.21.0)(yaml@2.8.3)
packages/tui: packages/tui:
dependencies: dependencies:
'@fusion/core': '@fusion/core':
@@ -385,6 +401,45 @@ importers:
specifier: ^3.1.0 specifier: ^3.1.0
version: 3.2.4(@types/debug@4.1.13)(@types/node@25.5.0)(jiti@2.6.1)(jsdom@29.0.1)(tsx@4.21.0)(yaml@2.8.3) version: 3.2.4(@types/debug@4.1.13)(@types/node@25.5.0)(jiti@2.6.1)(jsdom@29.0.1)(tsx@4.21.0)(yaml@2.8.3)
plugins/examples/fusion-plugin-auto-label:
dependencies:
'@fusion/plugin-sdk':
specifier: workspace:*
version: link:../../../packages/plugin-sdk
devDependencies:
'@types/node':
specifier: ^25.5.2
version: 25.5.2
vitest:
specifier: ^3.2.4
version: 3.2.4(@types/debug@4.1.13)(@types/node@25.5.2)(jiti@2.6.1)(jsdom@29.0.1)(tsx@4.21.0)(yaml@2.8.3)
plugins/examples/fusion-plugin-ci-status:
dependencies:
'@fusion/plugin-sdk':
specifier: workspace:*
version: link:../../../packages/plugin-sdk
devDependencies:
'@types/node':
specifier: ^25.5.2
version: 25.5.2
vitest:
specifier: ^3.2.4
version: 3.2.4(@types/debug@4.1.13)(@types/node@25.5.2)(jiti@2.6.1)(jsdom@29.0.1)(tsx@4.21.0)(yaml@2.8.3)
plugins/examples/fusion-plugin-notification:
dependencies:
'@fusion/plugin-sdk':
specifier: workspace:*
version: link:../../../packages/plugin-sdk
devDependencies:
'@types/node':
specifier: ^25.5.2
version: 25.5.2
vitest:
specifier: ^3.2.4
version: 3.2.4(@types/debug@4.1.13)(@types/node@25.5.2)(jiti@2.6.1)(jsdom@29.0.1)(tsx@4.21.0)(yaml@2.8.3)
packages: packages:
7zip-bin@5.2.0: 7zip-bin@5.2.0:
@@ -2093,6 +2148,9 @@ packages:
'@types/node@25.5.0': '@types/node@25.5.0':
resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==} resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==}
'@types/node@25.5.2':
resolution: {integrity: sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==}
'@types/plist@3.0.5': '@types/plist@3.0.5':
resolution: {integrity: sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA==} resolution: {integrity: sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA==}
@@ -6002,7 +6060,7 @@ snapshots:
dependencies: dependencies:
'@changesets/types': 6.1.0 '@changesets/types': 6.1.0
'@changesets/cli@2.30.0(@types/node@25.5.0)': '@changesets/cli@2.30.0(@types/node@25.5.2)':
dependencies: dependencies:
'@changesets/apply-release-plan': 7.1.0 '@changesets/apply-release-plan': 7.1.0
'@changesets/assemble-release-plan': 6.0.9 '@changesets/assemble-release-plan': 6.0.9
@@ -6018,7 +6076,7 @@ snapshots:
'@changesets/should-skip-package': 0.1.2 '@changesets/should-skip-package': 0.1.2
'@changesets/types': 6.1.0 '@changesets/types': 6.1.0
'@changesets/write': 0.4.0 '@changesets/write': 0.4.0
'@inquirer/external-editor': 1.0.3(@types/node@25.5.0) '@inquirer/external-editor': 1.0.3(@types/node@25.5.2)
'@manypkg/get-packages': 1.1.3 '@manypkg/get-packages': 1.1.3
ansi-colors: 4.1.3 ansi-colors: 4.1.3
enquirer: 2.4.1 enquirer: 2.4.1
@@ -6638,12 +6696,12 @@ snapshots:
'@img/sharp-win32-x64@0.33.5': '@img/sharp-win32-x64@0.33.5':
optional: true optional: true
'@inquirer/external-editor@1.0.3(@types/node@25.5.0)': '@inquirer/external-editor@1.0.3(@types/node@25.5.2)':
dependencies: dependencies:
chardet: 2.1.1 chardet: 2.1.1
iconv-lite: 0.7.2 iconv-lite: 0.7.2
optionalDependencies: optionalDependencies:
'@types/node': 25.5.0 '@types/node': 25.5.2
'@ionic/cli-framework-output@2.2.8': '@ionic/cli-framework-output@2.2.8':
dependencies: dependencies:
@@ -7601,6 +7659,10 @@ snapshots:
dependencies: dependencies:
undici-types: 7.18.2 undici-types: 7.18.2
'@types/node@25.5.2':
dependencies:
undici-types: 7.18.2
'@types/plist@3.0.5': '@types/plist@3.0.5':
dependencies: dependencies:
'@types/node': 25.5.0 '@types/node': 25.5.0
@@ -7732,6 +7794,14 @@ snapshots:
optionalDependencies: optionalDependencies:
vite: 6.4.1(@types/node@25.5.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) vite: 6.4.1(@types/node@25.5.0)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)
'@vitest/mocker@3.2.4(vite@6.4.1(@types/node@25.5.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
vite: 6.4.1(@types/node@25.5.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)
'@vitest/pretty-format@3.2.4': '@vitest/pretty-format@3.2.4':
dependencies: dependencies:
tinyrainbow: 2.0.0 tinyrainbow: 2.0.0
@@ -11279,6 +11349,27 @@ snapshots:
- tsx - tsx
- yaml - yaml
vite-node@3.2.4(@types/node@25.5.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3):
dependencies:
cac: 6.7.14
debug: 4.4.3
es-module-lexer: 1.7.0
pathe: 2.0.3
vite: 6.4.1(@types/node@25.5.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)
transitivePeerDependencies:
- '@types/node'
- jiti
- less
- lightningcss
- sass
- sass-embedded
- stylus
- sugarss
- supports-color
- terser
- tsx
- yaml
vite@6.4.1(@types/node@22.19.15)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3): vite@6.4.1(@types/node@22.19.15)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3):
dependencies: dependencies:
esbuild: 0.25.12 esbuild: 0.25.12
@@ -11309,6 +11400,21 @@ snapshots:
tsx: 4.21.0 tsx: 4.21.0
yaml: 2.8.3 yaml: 2.8.3
vite@6.4.1(@types/node@25.5.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3):
dependencies:
esbuild: 0.25.12
fdir: 6.5.0(picomatch@4.0.4)
picomatch: 4.0.4
postcss: 8.5.8
rollup: 4.60.0
tinyglobby: 0.2.15
optionalDependencies:
'@types/node': 25.5.2
fsevents: 2.3.3
jiti: 2.6.1
tsx: 4.21.0
yaml: 2.8.3
vitest@3.2.4(@types/debug@4.1.13)(@types/node@22.19.15)(jiti@2.6.1)(jsdom@29.0.1)(tsx@4.21.0)(yaml@2.8.3): vitest@3.2.4(@types/debug@4.1.13)(@types/node@22.19.15)(jiti@2.6.1)(jsdom@29.0.1)(tsx@4.21.0)(yaml@2.8.3):
dependencies: dependencies:
'@types/chai': 5.2.3 '@types/chai': 5.2.3
@@ -11395,6 +11501,49 @@ snapshots:
- tsx - tsx
- yaml - yaml
vitest@3.2.4(@types/debug@4.1.13)(@types/node@25.5.2)(jiti@2.6.1)(jsdom@29.0.1)(tsx@4.21.0)(yaml@2.8.3):
dependencies:
'@types/chai': 5.2.3
'@vitest/expect': 3.2.4
'@vitest/mocker': 3.2.4(vite@6.4.1(@types/node@25.5.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
'@vitest/spy': 3.2.4
'@vitest/utils': 3.2.4
chai: 5.3.3
debug: 4.4.3
expect-type: 1.3.0
magic-string: 0.30.21
pathe: 2.0.3
picomatch: 4.0.4
std-env: 3.10.0
tinybench: 2.9.0
tinyexec: 0.3.2
tinyglobby: 0.2.15
tinypool: 1.1.1
tinyrainbow: 2.0.0
vite: 6.4.1(@types/node@25.5.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)
vite-node: 3.2.4(@types/node@25.5.2)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/debug': 4.1.13
'@types/node': 25.5.2
jsdom: 29.0.1
transitivePeerDependencies:
- jiti
- less
- lightningcss
- msw
- sass
- sass-embedded
- stylus
- sugarss
- supports-color
- terser
- tsx
- yaml
w3c-keyname@2.2.8: {} w3c-keyname@2.2.8: {}
w3c-xmlserializer@5.0.0: w3c-xmlserializer@5.0.0: