diff --git a/apps/webapp/app/components/navigation/ProjectSideMenu.tsx b/apps/webapp/app/components/navigation/ProjectSideMenu.tsx index 34d1751db8..25eaf8ba04 100644 --- a/apps/webapp/app/components/navigation/ProjectSideMenu.tsx +++ b/apps/webapp/app/components/navigation/ProjectSideMenu.tsx @@ -11,8 +11,8 @@ import { organizationTeamPath, projectEnvironmentsPath, projectIntegrationsPath, - projectSetupPath, projectPath, + projectSetupPath, projectTriggersPath, } from "~/utils/pathBuilder"; import { UserProfilePhoto } from "../UserProfilePhoto"; @@ -96,7 +96,7 @@ export function ProjectSideMenu() { data-action="environments & api keys" /> -
+
+ ; name: string; @@ -153,6 +162,7 @@ function SideMenuItem({ isCollapsed: boolean; hasWarning?: boolean; forceActive?: boolean; + target?: string; }) { return ( { if (forceActive !== undefined) { isActive = forceActive; } return cn( "relative", - isActive + isActive || isPending ? "bg-slate-800 text-bright group-hover:bg-slate-800" : "text-dimmed group-hover:bg-slate-850 group-hover:text-bright" ); diff --git a/apps/webapp/app/components/primitives/Buttons.tsx b/apps/webapp/app/components/primitives/Buttons.tsx index 1dcc157454..532d368367 100644 --- a/apps/webapp/app/components/primitives/Buttons.tsx +++ b/apps/webapp/app/components/primitives/Buttons.tsx @@ -286,9 +286,13 @@ type NavLinkPropsType = Pick & Omit, "className"> & { className?: (props: { isActive: boolean; isPending: boolean }) => string | undefined; }; -export const NavLinkButton = ({ to, className, ...props }: NavLinkPropsType) => { +export const NavLinkButton = ({ to, className, target, ...props }: NavLinkPropsType) => { return ( - + {({ isActive, isPending }) => ( )} diff --git a/apps/webapp/app/components/primitives/NamedIcon.tsx b/apps/webapp/app/components/primitives/NamedIcon.tsx index 6cbe7d8c46..e5bd5bf2f8 100644 --- a/apps/webapp/app/components/primitives/NamedIcon.tsx +++ b/apps/webapp/app/components/primitives/NamedIcon.tsx @@ -35,6 +35,7 @@ import { GlobeAltIcon, HandRaisedIcon, HeartIcon, + HomeIcon, KeyIcon, LightBulbIcon, ListBulletIcon, @@ -50,6 +51,7 @@ import { UserGroupIcon, UserIcon, UserPlusIcon, + WindowIcon, WrenchScrewdriverIcon, XCircleIcon, XMarkIcon, @@ -75,6 +77,8 @@ const icons = { background: (className: string) => , beaker: (className: string) => , billing: (className: string) => , + + browser: (className: string) => , calendar: (className: string) => ( ), @@ -111,6 +115,7 @@ const icons = { ), heart: (className: string) => , + house: (className: string) => , id: (className: string) => , inactive: (className: string) => , info: (className: string) => , diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2e32ccda19..ea54663c99 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -689,8 +689,8 @@ importers: integrations/airtable: specifiers: - '@trigger.dev/integration-kit': workspace:^2.1.2 - '@trigger.dev/sdk': workspace:^2.1.2 + '@trigger.dev/integration-kit': workspace:^2.1.3 + '@trigger.dev/sdk': workspace:^2.1.3 '@trigger.dev/tsconfig': workspace:* '@types/node': 16.x airtable: ^0.12.1 @@ -717,8 +717,8 @@ importers: '@octokit/types': ^9.2.3 '@octokit/webhooks': ^10.4.0 '@octokit/webhooks-types': ^6.10.0 - '@trigger.dev/integration-kit': workspace:^2.1.2 - '@trigger.dev/sdk': workspace:^2.1.2 + '@trigger.dev/integration-kit': workspace:^2.1.3 + '@trigger.dev/sdk': workspace:^2.1.3 '@trigger.dev/tsconfig': workspace:* '@types/node': '18' octokit: ^2.0.14 @@ -743,8 +743,8 @@ importers: integrations/openai: specifiers: - '@trigger.dev/integration-kit': workspace:^2.1.2 - '@trigger.dev/sdk': workspace:^2.1.2 + '@trigger.dev/integration-kit': workspace:^2.1.3 + '@trigger.dev/sdk': workspace:^2.1.3 '@trigger.dev/tsconfig': workspace:* '@types/node': '18' openai: ^4.2.0 @@ -763,8 +763,8 @@ importers: integrations/plain: specifiers: '@team-plain/typescript-sdk': ^2.7.0 - '@trigger.dev/integration-kit': workspace:^2.1.2 - '@trigger.dev/sdk': workspace:^2.1.2 + '@trigger.dev/integration-kit': workspace:^2.1.3 + '@trigger.dev/sdk': workspace:^2.1.3 '@trigger.dev/tsconfig': workspace:* '@types/node': '18' rimraf: ^3.0.2 @@ -781,8 +781,8 @@ importers: integrations/resend: specifiers: - '@trigger.dev/integration-kit': workspace:^2.1.2 - '@trigger.dev/sdk': workspace:^2.1.2 + '@trigger.dev/integration-kit': workspace:^2.1.3 + '@trigger.dev/sdk': workspace:^2.1.3 '@trigger.dev/tsconfig': workspace:* '@types/node': '18' resend: ^1.0.0 @@ -801,8 +801,8 @@ importers: integrations/sendgrid: specifiers: '@sendgrid/mail': ^7.7.0 - '@trigger.dev/integration-kit': workspace:^2.1.2 - '@trigger.dev/sdk': workspace:^2.1.2 + '@trigger.dev/integration-kit': workspace:^2.1.3 + '@trigger.dev/sdk': workspace:^2.1.3 '@trigger.dev/tsconfig': workspace:* '@types/node': 16.x rimraf: ^3.0.2 @@ -822,7 +822,7 @@ importers: integrations/slack: specifiers: '@slack/web-api': ^6.8.1 - '@trigger.dev/sdk': workspace:^2.1.2 + '@trigger.dev/sdk': workspace:^2.1.3 '@trigger.dev/tsconfig': workspace:* '@types/node': '18' rimraf: ^3.0.2 @@ -840,8 +840,8 @@ importers: integrations/stripe: specifiers: - '@trigger.dev/integration-kit': workspace:^2.1.2 - '@trigger.dev/sdk': workspace:^2.1.2 + '@trigger.dev/integration-kit': workspace:^2.1.3 + '@trigger.dev/sdk': workspace:^2.1.3 '@types/node': 16.x rimraf: ^3.0.2 stripe: ^12.14.0 @@ -864,8 +864,8 @@ importers: integrations/supabase: specifiers: '@supabase/supabase-js': ^2.26.0 - '@trigger.dev/integration-kit': workspace:^2.1.2 - '@trigger.dev/sdk': workspace:^2.1.2 + '@trigger.dev/integration-kit': workspace:^2.1.3 + '@trigger.dev/sdk': workspace:^2.1.3 '@trigger.dev/tsconfig': workspace:* '@types/node': 18.x rimraf: ^3.0.2 @@ -888,8 +888,8 @@ importers: integrations/typeform: specifiers: - '@trigger.dev/integration-kit': workspace:^2.1.2 - '@trigger.dev/sdk': workspace:^2.1.2 + '@trigger.dev/integration-kit': workspace:^2.1.3 + '@trigger.dev/sdk': workspace:^2.1.3 '@typeform/api-client': ^1.8.0 '@types/node': 16.x rimraf: ^3.0.2 @@ -948,7 +948,6 @@ importers: execa: ^7.0.0 gradient-string: ^2.0.2 inquirer: ^9.1.4 - jest: ^29.6.2 localtunnel: ^2.0.2 nanoid: ^4.0.2 ngrok: 5.0.0-beta.2 @@ -968,6 +967,7 @@ importers: type-fest: ^3.6.0 typescript: ^4.9.5 url: ^0.11.1 + vitest: ^0.34.4 zod: 3.21.4 dependencies: '@types/degit': 2.8.3 @@ -1002,12 +1002,12 @@ importers: '@types/jest': 29.5.3 '@types/node': 16.18.11 '@types/node-fetch': 2.6.2 - jest: 29.6.2_@types+node@16.18.11 rimraf: 3.0.2 - ts-jest: 29.1.1_xlkreayjyan5lfqjb5gzdqf3my + ts-jest: 29.1.1_typescript@4.9.5 tsup: 6.6.3_typescript@4.9.5 type-fest: 3.6.0 typescript: 4.9.5 + vitest: 0.34.4 packages/core: specifiers: @@ -1116,7 +1116,7 @@ importers: packages/express: specifiers: '@remix-run/web-fetch': ^4.3.5 - '@trigger.dev/sdk': workspace:^2.1.2 + '@trigger.dev/sdk': workspace:^2.1.3 '@trigger.dev/tsconfig': workspace:* '@types/debug': ^4.1.7 '@types/express': ^4.17.13 @@ -1189,7 +1189,7 @@ importers: packages/react: specifiers: '@tanstack/react-query': 5.0.0-beta.2 - '@trigger.dev/core': workspace:^2.1.2 + '@trigger.dev/core': workspace:^2.1.3 '@trigger.dev/tsconfig': workspace:* '@types/debug': ^4.1.7 '@types/react': 18.2.17 @@ -1265,7 +1265,7 @@ importers: packages/trigger-sdk: specifiers: - '@trigger.dev/core': workspace:^2.1.2 + '@trigger.dev/core': workspace:^2.1.3 '@trigger.dev/tsconfig': workspace:* '@types/debug': ^4.1.7 '@types/node': '18' @@ -4733,6 +4733,7 @@ packages: cpu: [arm] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-arm/0.16.4: @@ -4784,6 +4785,7 @@ packages: cpu: [arm64] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-arm64/0.16.4: @@ -4835,6 +4837,7 @@ packages: cpu: [x64] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-x64/0.16.4: @@ -4886,6 +4889,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: true optional: true /@esbuild/darwin-arm64/0.16.4: @@ -4937,6 +4941,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: true optional: true /@esbuild/darwin-x64/0.16.4: @@ -4988,6 +4993,7 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true + dev: true optional: true /@esbuild/freebsd-arm64/0.16.4: @@ -5039,6 +5045,7 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true + dev: true optional: true /@esbuild/freebsd-x64/0.16.4: @@ -5090,6 +5097,7 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-arm/0.16.4: @@ -5141,6 +5149,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-arm64/0.16.4: @@ -5192,6 +5201,7 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-ia32/0.16.4: @@ -5252,6 +5262,7 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-loong64/0.16.4: @@ -5303,6 +5314,7 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-mips64el/0.16.4: @@ -5354,6 +5366,7 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-ppc64/0.16.4: @@ -5405,6 +5418,7 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-riscv64/0.16.4: @@ -5456,6 +5470,7 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-s390x/0.16.4: @@ -5507,6 +5522,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-x64/0.16.4: @@ -5558,6 +5574,7 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true + dev: true optional: true /@esbuild/netbsd-x64/0.16.4: @@ -5609,6 +5626,7 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true + dev: true optional: true /@esbuild/openbsd-x64/0.16.4: @@ -5660,6 +5678,7 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true + dev: true optional: true /@esbuild/sunos-x64/0.16.4: @@ -5711,6 +5730,7 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-arm64/0.16.4: @@ -5762,6 +5782,7 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-ia32/0.16.4: @@ -5813,6 +5834,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-x64/0.16.4: @@ -16630,6 +16652,7 @@ packages: '@esbuild/win32-arm64': 0.16.17 '@esbuild/win32-ia32': 0.16.17 '@esbuild/win32-x64': 0.16.17 + dev: true /esbuild/0.16.4: resolution: {integrity: sha512-qQrPMQpPTWf8jHugLWHoGqZjApyx3OEm76dlTXobHwh/EBbavbRdjXdYi/GWr43GyN0sfpap14GPkb05NH3ROA==} @@ -26222,6 +26245,7 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.2 + dev: true /rollup/3.29.1: resolution: {integrity: sha512-c+ebvQz0VIH4KhhCpDsI+Bik0eT8ZFEVZEYw0cGMVqIP8zc+gnwl7iXCamTw7vzv2MeuZFZfdx5JJIq+ehzDlg==} @@ -27862,6 +27886,38 @@ packages: /ts-interface-checker/0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + /ts-jest/29.1.1_typescript@4.9.5: + resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/types': ^29.0.0 + babel-jest: ^29.0.0 + esbuild: '*' + jest: ^29.0.0 + typescript: '>=4.3 <6' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + dependencies: + bs-logger: 0.2.6 + fast-json-stable-stringify: 2.1.0 + jest-util: 29.6.2 + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.5.4 + typescript: 4.9.5 + yargs-parser: 21.1.1 + dev: true + /ts-jest/29.1.1_xlkreayjyan5lfqjb5gzdqf3my: resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -29189,7 +29245,7 @@ packages: - terser dev: true - /vite-node/0.34.4_@types+node@20.5.2: + /vite-node/0.34.4_@types+node@20.6.0: resolution: {integrity: sha512-ho8HtiLc+nsmbwZMw8SlghESEE3KxJNp04F/jPUCLVvaURwt0d+r9LxEqCX5hvrrOQ0GSyxbYr5ZfRYhQ0yVKQ==} engines: {node: '>=v14.18.0'} hasBin: true @@ -29199,7 +29255,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.4.9_@types+node@20.5.2 + vite: 4.4.9_@types+node@20.6.0 transitivePeerDependencies: - '@types/node' - less @@ -29354,6 +29410,7 @@ packages: rollup: 3.10.0 optionalDependencies: fsevents: 2.3.2 + dev: true /vite/4.4.9: resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} @@ -29459,6 +29516,42 @@ packages: rollup: 3.29.1 optionalDependencies: fsevents: 2.3.2 + dev: true + + /vite/4.4.9_@types+node@20.6.0: + resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.6.0 + esbuild: 0.18.11 + postcss: 8.4.29 + rollup: 3.29.1 + optionalDependencies: + fsevents: 2.3.2 /vitefu/0.2.4_vite@4.4.9: resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} @@ -29559,7 +29652,7 @@ packages: dependencies: '@types/chai': 4.3.6 '@types/chai-subset': 1.3.3 - '@types/node': 20.5.2 + '@types/node': 20.6.0 '@vitest/expect': 0.34.4 '@vitest/runner': 0.34.4 '@vitest/snapshot': 0.34.4 @@ -29578,8 +29671,8 @@ packages: strip-literal: 1.0.1 tinybench: 2.5.0 tinypool: 0.7.0 - vite: 4.1.4_@types+node@20.5.2 - vite-node: 0.34.4_@types+node@20.5.2 + vite: 4.4.9_@types+node@20.6.0 + vite-node: 0.34.4_@types+node@20.6.0 why-is-node-running: 2.2.2 transitivePeerDependencies: - less