diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 56a9a8bc2c..eb7956c6ae 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -17,23 +17,23 @@ diverse, inclusive, and healthy community. Examples of behavior that contributes to a positive environment for our community include: -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience -* Focusing on what is best not just for us as individuals, but for the +- Focusing on what is best not just for us as individuals, but for the overall community Examples of unacceptable behavior include: -* The use of sexualized language or imagery, and sexual attention or +- The use of sexualized language or imagery, and sexual attention or advances of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email address, without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a +- Other conduct which could reasonably be considered inappropriate in a professional setting ## Enforcement Responsibilities @@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban. ### 4. Permanent Ban **Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an +standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. **Consequence**: A permanent ban from any sort of public interaction within diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b79473e218..d780f3f84c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,22 +8,19 @@ Contributions are what make the open source community such an amazing place to b ### Legend -βœ… = has knowledge +βœ… = has knowledge πŸ₯‡ = is their main priority -⚠️ = is the only one with knowledge +⚠️ = is the only one with knowledge -πŸ‘€ = has no knowledge but wants to be onboarded +πŸ‘€ = has no knowledge but wants to be onboarded Areas of expertise table - - - ## Developing The development branch is `main`. This is the branch that all pull diff --git a/README.md b/README.md index 516e9fe60b..edc9cc6090 100644 --- a/README.md +++ b/README.md @@ -437,7 +437,7 @@ Special thanks to these amazing projects which help power Cal.com: - [Day.js](https://day.js.org/) - [Tailwind CSS](https://tailwindcss.com/) - [Prisma](https://prisma.io/) - - Jitsu.com + +Jitsu.com Cal.com is an [open startup](https://cal.com/open) and [Jitsu](https://github.com/jitsucom/jitsu) (an open-source Segment alternative) helps us to track most of the usage metrics. diff --git a/packages/app-store-cli/readme.md b/packages/app-store-cli/readme.md index 5567aa5abd..215cc3152b 100644 --- a/packages/app-store-cli/readme.md +++ b/packages/app-store-cli/readme.md @@ -2,14 +2,14 @@ - Create a folder in packages/app-store/{APP_NAME} = {APP} - Fill it with a sample app - - Modify {APP}/_metadata.ts with the data provided + - Modify {APP}/\_metadata.ts with the data provided ## Approach - appType is derived from App Name(a slugify operation that makes a string that can be used as a director name, a variable name for imports and a URL path). - appType is then used to create the app directory. It becomes `config.type` of config.json. config.type is the value used to create an entry in App table and retrieve any apps or credentials. It also becomes App.dirName -- dirnames that don't start with _ are considered apps in packages/app-store and based on those apps .generated.ts* files are created. This allows pre-cli apps to keep on working. -- app directory is populated with app-store/_baseApp with newly updated config.json and package.json +- dirnames that don't start with \_ are considered apps in packages/app-store and based on those apps .generated.ts\* files are created. This allows pre-cli apps to keep on working. +- app directory is populated with app-store/\_baseApp with newly updated config.json and package.json - `packages/prisma/seed-app-store.config.json` is updated with new app. NOTE: After app-store-cli is live, Credential.appId and Credential.type would be same for new apps. For old apps they would remain different. Credential.type would be used to identify credentials in integrations call and Credential.appId/App.slug would be used to identify apps. @@ -20,20 +20,20 @@ If we rename all existing apps to their slug names, we can remove type and then - Beta Release - Show a warning somewhere that app directory must not be renamed manually, edit command must be used. - edit command should ask for slug and verify if it exists - - Improvements - Prefill fields in edit command - Merge app-store:watch and app-store commands, introduce app-store --watch - Allow inputs in non interactive way as well - That would allow easily copy pasting commands. - App already exists check. Ask user to run edit/regenerate command - An app created through CLI should be able to completely skip API validation for testing purposes. Credentials should be created with no API specified specific to the app. It would allow us to test any app end to end not worrying about the corresponding API endpoint. - - Require assets path relative to app dir. + - Require assets path relative to app dir. ## Roadmap + - Avoid delete and edit on apps created outside of cli - Someone can add wrong directory name(which doesn't satisfy slug requirements) manually. How to handle it. - Allow editing and updating app from the cal app itself - including assets uploading when developing locally. - Improvements in shared code across app - Use baseApp/api/add.ts for all apps with configuration of credentials creation and redirection URL. - Delete creation side effects if App creation fails - Might make debugging difficult - - This is so that web app doesn't break because of additional app folders or faulty db-seed \ No newline at end of file + - This is so that web app doesn't break because of additional app folders or faulty db-seed diff --git a/packages/app-store/utils.ts b/packages/app-store/utils.ts index a191e8ae0c..84f7d083ba 100644 --- a/packages/app-store/utils.ts +++ b/packages/app-store/utils.ts @@ -113,13 +113,13 @@ export function getLocationTypes(): string[] { export function getLocationLabels(t: TFunction) { const defaultLocationLabels = defaultLocations.reduce((locations, location) => { - if(location.label === "attendee_phone_number") { - locations[location.value] = t("your_number") - return locations + if (location.label === "attendee_phone_number") { + locations[location.value] = t("your_number"); + return locations; } - if(location.label === "host_phone_number") { - locations[location.value] = `${t("phone_call")} (${t("number_provided")})` - return locations + if (location.label === "host_phone_number") { + locations[location.value] = `${t("phone_call")} (${t("number_provided")})`; + return locations; } locations[location.value] = t(location.label); return locations; diff --git a/packages/app-store/zapier/README.md b/packages/app-store/zapier/README.md index 80abd1165f..75acbe6c12 100644 --- a/packages/app-store/zapier/README.md +++ b/packages/app-store/zapier/README.md @@ -13,49 +13,49 @@ If you run it on localhost, check out the [additional information](https://githu 2. If not redirected to developer account, go to: [Zapier Developer Account](https://developer.zapier.com) 3. Click **Start a Zapier Integration** 4. Create Integration - - Name: Cal.com - - Description: Cal.com is a scheduling infrastructure for absolutely everyone. - - Intended Audience: Private - - Role: choose whatever is appropriate - - Category: Calendar + - Name: Cal.com + - Description: Cal.com is a scheduling infrastructure for absolutely everyone. + - Intended Audience: Private + - Role: choose whatever is appropriate + - Category: Calendar ## Authentication 1. Go to Authentication, choose Api key and click save 2. Click Add Fields - - Key: apiKey - - Check the box β€˜is this field required?’ + - Key: apiKey + - Check the box β€˜is this field required?’ 3. Configure a Test - - Test: GET ``````/api/integrations/zapier/listBookings - - URL Params - - apiKey: {{bundle.authData.apiKey}} + - Test: GET ``/api/integrations/zapier/listBookings + - URL Params + - apiKey: {{bundle.authData.apiKey}} 4. Test your authentication β€”> First you have to install Zapier in the Cal.com App Store and generate an API key, use this API key to test your authentication (only zapier Api key works) - + ## Triggers Booking created, Booking rescheduled, Booking cancelled - + ### Booking created 1. Settings - - Key: booking_created - - Name: Booking created - - Noun: Booking - - Description: Triggers when a new booking is created + - Key: booking_created + - Name: Booking created + - Noun: Booking + - Description: Triggers when a new booking is created 2. API Configuration (apiKey is set automatically, leave it like it is): - - Trigger Type: REST Hook - - Subscribe: POST ``````/api/integrations/zapier/addSubscription - - Request Body - - subscriberUrl: {{bundle.targetUrl}} - - triggerEvent: BOOKING_CREATED - - Unsubscribe: DELETE ``````/api/integrations/zapier/deleteSubscription - - URL Params (in addition to apiKey) - - id: {{bundle.subscribeData.id}} - - PerformList: GET ``````/api/integrations/zapier/listBookings + - Trigger Type: REST Hook + - Subscribe: POST ``/api/integrations/zapier/addSubscription + - Request Body + - subscriberUrl: {{bundle.targetUrl}} + - triggerEvent: BOOKING_CREATED + - Unsubscribe: DELETE ``/api/integrations/zapier/deleteSubscription + - URL Params (in addition to apiKey) + - id: {{bundle.subscribeData.id}} + - PerformList: GET ``/api/integrations/zapier/listBookings 3. Test your API request Create the other two triggers (booking rescheduled, booking cancelled) exactly like this one, just use the appropriate naming (e.g. booking_rescheduled instead of booking_created) - + ### Set ZAPIER_INVITE_LINK The invite link can be found under under Manage β†’ Sharing. @@ -68,4 +68,4 @@ Possible solution: using [https://ngrok.com/](https://ngrok.com/) 1. Create Account 2. [Download](https://ngrok.com/download) gnork and start a tunnel to your running localhost - - Use forwarding url as your baseUrl for the URL endpoints + - Use forwarding url as your baseUrl for the URL endpoints diff --git a/packages/app-store/zapier/pages/setup/index.tsx b/packages/app-store/zapier/pages/setup/index.tsx index 0f48a3b2e2..05c47484a1 100644 --- a/packages/app-store/zapier/pages/setup/index.tsx +++ b/packages/app-store/zapier/pages/setup/index.tsx @@ -10,6 +10,7 @@ import { Button, Loader, Tooltip } from "@calcom/ui"; /** TODO: Maybe extract this into a package to prevent circular dependencies */ import { trpc } from "@calcom/web/lib/trpc"; + export interface IZapierSetupProps { inviteLink: string; } @@ -46,7 +47,7 @@ export default function ZapierSetup(props: IZapierSetupProps) { if (integrations.isLoading) { return ( -
+
); @@ -55,7 +56,7 @@ export default function ZapierSetup(props: IZapierSetupProps) { return (
{showContent ? ( -
+
Zapier Logo @@ -72,8 +73,8 @@ export default function ZapierSetup(props: IZapierSetupProps) { ) : ( <>
{t("your_unique_api_key")}
-
-
{newApiKey}
+
+
{newApiKey}
diff --git a/packages/emails/src/components/Info.tsx b/packages/emails/src/components/Info.tsx index 57a031b945..22cac44722 100644 --- a/packages/emails/src/components/Info.tsx +++ b/packages/emails/src/components/Info.tsx @@ -7,7 +7,7 @@ export const Info = (props: { withSpacer?: boolean; lineThrough?: boolean; }) => { - if (!props.description || props.description=="") return null; + if (!props.description || props.description === "") return null; return ( <> {props.withSpacer && } diff --git a/packages/emails/src/components/LocationInfo.tsx b/packages/emails/src/components/LocationInfo.tsx index 37afd1ac34..801d5848d0 100644 --- a/packages/emails/src/components/LocationInfo.tsx +++ b/packages/emails/src/components/LocationInfo.tsx @@ -90,7 +90,6 @@ export function LocationInfo(props: { calEvent: CalendarEvent; t: TFunction }) { style={{ color: "#3E3E3E" }} rel="noreferrer"> Google - } /> diff --git a/packages/emails/src/components/ManageLink.tsx b/packages/emails/src/components/ManageLink.tsx index 02aad2c6dd..2010ff5680 100644 --- a/packages/emails/src/components/ManageLink.tsx +++ b/packages/emails/src/components/ManageLink.tsx @@ -5,12 +5,16 @@ export function ManageLink(props: { calEvent: CalendarEvent; attendee: Person }) // Only the original attendee can make changes to the event // Guests cannot const t = props.attendee.language.translate; - if(props.attendee.email === props.calEvent.attendees[0].email || props.calEvent.organizer.email === props.attendee.email ){ + if ( + props.attendee.email === props.calEvent.attendees[0].email || + props.calEvent.organizer.email === props.attendee.email + ) { return (
); } - - // Dont have the rights to the manage link - return null + + // Dont have the rights to the manage link + return null; } diff --git a/packages/emails/templates/forgot-password-email.ts b/packages/emails/templates/forgot-password-email.ts index 7452fd20bc..31f012815e 100644 --- a/packages/emails/templates/forgot-password-email.ts +++ b/packages/emails/templates/forgot-password-email.ts @@ -1,7 +1,6 @@ import { TFunction } from "next-i18next"; import { renderEmail } from "../"; - import BaseEmail from "./_base-email"; export type PasswordReset = { diff --git a/packages/embeds/README.md b/packages/embeds/README.md index 23e1f3c8be..084336b38b 100644 --- a/packages/embeds/README.md +++ b/packages/embeds/README.md @@ -5,4 +5,4 @@ This folder contains all the various flavours of embeds. `core` contains the core library written in vanilla JS that manages the embed. `snippet` contains the Vanilla JS Code Snippet that can be installed on any website and would automatically fetch the `core` library. -Please see the respective folder READMEs for details on them. \ No newline at end of file +Please see the respective folder READMEs for details on them. diff --git a/packages/embeds/embed-core/README.md b/packages/embeds/embed-core/README.md index ec0482328f..2410a94728 100644 --- a/packages/embeds/embed-core/README.md +++ b/packages/embeds/embed-core/README.md @@ -3,6 +3,7 @@ This is the vanilla JS core script that embeds Cal Link. ## How to use embed on any webpage no matter what framework + See You can also see various example usages [here](https://github.com/calcom/cal.com/blob/main/packages/embeds/embed-core/index.html) @@ -41,6 +42,7 @@ Make `dist/embed.umd.js` servable on URL - Need to create a booking Shell so that common changes for embed can be applied there. - Accessibility and UI/UX Issues + - let user choose the loader for ModalBox - If website owner links the booking page directly for an event, should the user be able to go to events-listing page using back button ? - Let user specify both dark and light theme colors. Right now the colors specified are for light theme. @@ -48,34 +50,42 @@ Make `dist/embed.umd.js` servable on URL - Maybe don't set border radius in inline mode or give option to configure border radius. - Branding + - Powered by Cal.com and 'Try it for free'. Should they be shown only for FREE account. - Branding at the bottom has been removed for UI improvements, need to see where to add it. - API + - Allow loader color customization using UI command itself too. Right now it's possible using CSS only. - Automation Tests + - Run automation tests in CI - Automation Tests are using snapshots of Booking Page which has current month which requires us to regenerate snapshots every month. - Bundling Related + - Comments in CSS aren't stripped off - Debuggability + - Send log messages from iframe to parent so that all logs can exist in a single queue forming a timeline. - user should be able to use "on" instruction to understand what's going on in the system - Error Tracking for embed.js - Know where exactly it’s failing if it does. - Color Scheme + - Need to reduce the number of colors on booking page, so that UI configuration is simpler - Dev Experience/Ease of Installation + - Do we need a one liner(like `window.dataLayer.push`) to inform SDK of something even if snippet is not yet on the page but would be there e.g. through GTM it would come late on the page ? - Option to disable redirect banner and let parent handle redirect. - Release Issues + - Compatibility Issue - When embed-iframe.js is updated in such a way that it is not compatible with embed.js, doing a release might break the embed for some time. e.g. iframeReady event let's say get's changed to something else - Best Case scenario - App and Website goes live at the same time. A website using embed loads the same updated and thus compatible versions of embed.js and embed-iframe.js - Worst case scenario - App goes live first, website PR isn't merged yet and thus a website using the embed would load updated version of embed-iframe but outdated version of embed.js possibly breaking the embed. @@ -83,6 +93,7 @@ Make `dist/embed.umd.js` servable on URL - Quick Solution: Serve embed.js also from app, so that they go live together and there is only a slight chance of compatibility issues on going live. Note, that they can still occur as 2 different requests are sent at different times to fetch the libraries and deployments can go live in between, - UI Config Features + - How would the user add on hover styles just using style attribute ? - If just iframe refreshes due to some reason, embed script can't replay the applied instructions. @@ -99,6 +110,7 @@ Make `dist/embed.umd.js` servable on URL - Feature Documentation - Inline mode doesn't cause any scroll in iframe by default. It more looks like it is part of the website. - docs.cal.com + - A complete document on how to use embed - app.cal.com diff --git a/packages/embeds/embed-react/README.md b/packages/embeds/embed-react/README.md index 23332efe52..b5fb1f54d2 100644 --- a/packages/embeds/embed-react/README.md +++ b/packages/embeds/embed-react/README.md @@ -11,4 +11,4 @@ TODO - It would probably be better if Playwright tests exist at one place for all embeds. - Distribution - It would be better DX to serve the unbuilt version with JSX, instead of built version with React.createElement calls. But because of WebPack loaders not running on node_modules automatically, it doesn't work automatically. - - Right now if a typescript project uses the package, VSCode takes the user to .d.ts files instead of the functions definitions. How to solve it ? \ No newline at end of file + - Right now if a typescript project uses the package, VSCode takes the user to .d.ts files instead of the functions definitions. How to solve it ? diff --git a/packages/embeds/embed-snippet/README.md b/packages/embeds/embed-snippet/README.md index 0dab1a403b..a09ab18f6d 100644 --- a/packages/embeds/embed-snippet/README.md +++ b/packages/embeds/embed-snippet/README.md @@ -8,4 +8,3 @@ Vanilla JS embed snippet that is responsible to fetch @calcom/embed-core and thu - which can be used as `` - diff --git a/packages/prisma/selects/event-types.ts b/packages/prisma/selects/event-types.ts index 9af3c0e355..1fa181caa8 100644 --- a/packages/prisma/selects/event-types.ts +++ b/packages/prisma/selects/event-types.ts @@ -33,7 +33,7 @@ export const bookEventTypeSelect = Prisma.validator()({ price: true, currency: true, disableGuests: true, - userId:true, + userId: true, seatsPerTimeSlot: true, users: { select: { @@ -46,7 +46,7 @@ export const bookEventTypeSelect = Prisma.validator()({ theme: true, }, }, -}) +}); export const availiblityPageEventTypeSelect = Prisma.validator()({ id: true, @@ -72,7 +72,7 @@ export const availiblityPageEventTypeSelect = Prisma.validator -
+
diff --git a/yarn.lock b/yarn.lock index afdb7ce326..fecb55d205 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1153,6 +1153,11 @@ intl-messageformat "9.13.0" tslib "^2.1.0" +"@fullstory/browser@^1.5.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@fullstory/browser/-/browser-1.6.1.tgz#dd3f2d3ce1dc72aa8e896f30cb5da83c72097816" + integrity sha512-WZ8mR5nluF7W8OhSe7J8FAyxDLOwDnI+0Jj8f+qBd5WsExwrtwb2LOO2064Gn+U3m2WI3tEo6WbHeMs6qtv0YA== + "@glidejs/glide@^3.5.2": version "3.5.2" resolved "https://registry.yarnpkg.com/@glidejs/glide/-/glide-3.5.2.tgz#7012c5920ecf202bbda44d8526fc979984b6dd54" @@ -16165,66 +16170,131 @@ turbo-darwin-64@1.2.16: resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-1.2.16.tgz#1586fd6e52ffb5ad5e1e3ec8afe1c873f7fd98d9" integrity sha512-dyitLQJdH3uLVdlH9jAkP4LqEO/K+wOXjUqOzjTciRLjQPzmsNY60/bmFHODADK4eBBl1nxbtn7tmmoT4vS1qA== +turbo-darwin-64@1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-1.2.9.tgz#001159794757f77c4b016fc56d045c5e7bfc9510" + integrity sha512-rVwDQpi6p0GwTiqSsvtA1b3RvKl8l2y+ElZ3EKGiIIJYZt1D6wBMJoADaZ9uZ/LWkT+WKfAWNtKdwRmuBAOS6g== + turbo-darwin-arm64@1.2.16: version "1.2.16" resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-1.2.16.tgz#3faf9c657fa5feb16465316ac8d47c4a2790c2f1" integrity sha512-Ex6uM4HU7rGXdhvJMpzNpp6qxglJ98nWeIi5qR/lBXHLjK3UCvSW8BEALArUJYJTXS9FZBq1a5LowFqXYsfDcA== +turbo-darwin-arm64@1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-1.2.9.tgz#fb19615984d1780fdcdd9e54a607efb46a700e72" + integrity sha512-j7NgQHkQWWODw1I/saiqmjjD54uGAEq0qTTtLI3RoLaA+yI+awXmHwsiHRqsvGSyGJlBoKBcbxXkekLf21q3GA== + turbo-freebsd-64@1.2.16: version "1.2.16" resolved "https://registry.yarnpkg.com/turbo-freebsd-64/-/turbo-freebsd-64-1.2.16.tgz#2674c2078eaa79200a3b91639e530b287a735cb4" integrity sha512-onRGKMvog8B3XDssSBIAg+FrEq9pcBoAybP7bpi/uYIH1L/WQ7YMmLn88X9JX19ehYuVOVZrjap4jWH2GIkU8A== +turbo-freebsd-64@1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/turbo-freebsd-64/-/turbo-freebsd-64-1.2.9.tgz#edb2ee840ba80c257068e339d10ac460c1f9fb10" + integrity sha512-+tLb3iCOrIeGrcOJZYey5mD9qgNgKYuwRRg6FeX/6TDITvZXcCS50A2uRbaD/PQzQKs1lHcshiCe/DRtbvJ63g== + turbo-freebsd-arm64@1.2.16: version "1.2.16" resolved "https://registry.yarnpkg.com/turbo-freebsd-arm64/-/turbo-freebsd-arm64-1.2.16.tgz#88cc25733b19880b4a14a9d4f34770da9e898a92" integrity sha512-S0EqPqxwnJuVNNXRgcHB0r8ai8LSrpHdihVJKRM7WYmIR7isccBEf/G9agrt73sCXwjvenxFs4HDR7cSvGt14Q== +turbo-freebsd-arm64@1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/turbo-freebsd-arm64/-/turbo-freebsd-arm64-1.2.9.tgz#aebfb5b07a2dd6e9211fb6d9827c2f2288e2ca73" + integrity sha512-gwI8jocTf036kc9GI1BebzftxrkT5pewHPA2iqvAXAJpX01G1x1iGcl8/uIbkbL5hp038nu+l2Kb+lRI96sJuA== + turbo-linux-32@1.2.16: version "1.2.16" resolved "https://registry.yarnpkg.com/turbo-linux-32/-/turbo-linux-32-1.2.16.tgz#7c60a19acd32862085566da0f9389d2db36a7aee" integrity sha512-ecbqmGOxgTWePGrowtwyvZGfvwaLxFWmPK21cU0PS+fzoZBaVmzYmniTdd/2EkGCw7TOPhtiT22v96fWcnRycA== +turbo-linux-32@1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/turbo-linux-32/-/turbo-linux-32-1.2.9.tgz#1462e45776d3ce93c57f2014745e7edb60910a44" + integrity sha512-Rm47bIsCHIae/DkXJ58YrWvdh8o4Ug9U4VnTDb9byXrz2B7624ol9XdfpXv429z7LXkQR1+WnwCMwFB4K6DyuQ== + turbo-linux-64@1.2.16: version "1.2.16" resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-1.2.16.tgz#d589bf73bbfa38fa73ad8ec786c0b89b678e7af8" integrity sha512-q6gtdMWCzM0Sktkd73zcaQjNoeM1MjtrbwQBctWN/Sgj0eiPBPnzpIvokvx98x7RLf4qyI99/mlme0Dn5fx21A== +turbo-linux-64@1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-1.2.9.tgz#0eef4a6f6f267b773ea58c4bda86922092eda3eb" + integrity sha512-8Gqi+TzEdmOmxxAukU0NO0JlIqdm98C97u9qEsxWrXTFL/xL21gKCixqsBTEO7JOISC4M8VjArxjSsITRbkD5g== + turbo-linux-arm64@1.2.16: version "1.2.16" resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-1.2.16.tgz#9eaaee4094f71a266553248dfaadc59756696242" integrity sha512-gUf67tYJ/N09WAZTTmtUWYrqm381tZxiulnRGAIM+iRsaTrweyUKZaYXwJvlPpI/cQOw25wCG9/IyvxLeagL8A== +turbo-linux-arm64@1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-1.2.9.tgz#57777d356bf74ef2cc284998ef86fe19c77b92c2" + integrity sha512-FVIeM7koUtyu1cNAJhPYjb90kL/ICdWoJr4PoZZYnqty5sxLsBg75bVErEDQeDzKQvwXLlcax2lEzHvaSyn/wg== + turbo-linux-arm@1.2.16: version "1.2.16" resolved "https://registry.yarnpkg.com/turbo-linux-arm/-/turbo-linux-arm-1.2.16.tgz#54774c7e6e4f91ebdb211fa48b1b2a46b1e3c61c" integrity sha512-du7uvExELNb89V3g7iM0XP21fR1Yl3EoHRcOfQz32oUqnS7idCKvbEowM9LtiluQl1dKcOIJjn1nlvvsqzkhOg== +turbo-linux-arm@1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/turbo-linux-arm/-/turbo-linux-arm-1.2.9.tgz#2424016fb926143682f9029bd86a8d455979e075" + integrity sha512-OS+XCWiGFbuM7UNBVQdVbIJqxhVu9Sr2WxQgDcGZpCYn32yLLPlWDDGL0Cl/EG006J9k+VS1e4OzyM6kfMxS9Q== + turbo-linux-mips64le@1.2.16: version "1.2.16" resolved "https://registry.yarnpkg.com/turbo-linux-mips64le/-/turbo-linux-mips64le-1.2.16.tgz#fa49b858f8ed399b44cdce285a0feb67c30ee99b" integrity sha512-U5BM+Ql3z13uRtwMmKH/8eL+9DdTgyijC2gaX4xP0RTlcN7WfAstg8Fg/Tn2Vw9vtpVDdxwpw7dvX4kw2ghhpA== +turbo-linux-mips64le@1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/turbo-linux-mips64le/-/turbo-linux-mips64le-1.2.9.tgz#e3bb35f53cb84ff836cf42fc576b6197c92a5e8a" + integrity sha512-2zVBnOVivWGpl51qO/lycfw7euM4b04AXYUmhsWkUN3FygIwyNgjuiMU8rxQOlu9VGX8X+WXkX2gfbgTovTeFw== + turbo-linux-ppc64le@1.2.16: version "1.2.16" resolved "https://registry.yarnpkg.com/turbo-linux-ppc64le/-/turbo-linux-ppc64le-1.2.16.tgz#0a419310b938ef5eace46cb6c53b18099caae60c" integrity sha512-HQWSCmVZyc5chw7Ie2ZcfZPfmM06mbEEu0Wl11Y5QWh1ZzhPNQHs/TsF4I9r146wHi62XgcrKFjkw4ARZiWsLA== +turbo-linux-ppc64le@1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/turbo-linux-ppc64le/-/turbo-linux-ppc64le-1.2.9.tgz#130041711579a1b6b3fe774d85c394425d45c0ac" + integrity sha512-EGgKyzf8IhodOF32BvE3Zlgbr/dSGuUbemC9RGSuhF1F1PMnP1nYS/t3JWN5QKZU4O2uWiIyLdC/0ZjtcGAcZQ== + turbo-windows-32@1.2.16: version "1.2.16" resolved "https://registry.yarnpkg.com/turbo-windows-32/-/turbo-windows-32-1.2.16.tgz#8307dea3fab91be4e3e46aa37d76ce8e7ce3fdcb" integrity sha512-0ZtPz5FK2qZjznMG4vvRyaabrhO8BgbN+tBx1wjXSuoICTAjYi5TwRVVRh59c3x7qQmR21Cv33CrhLBPRfeAlg== +turbo-windows-32@1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/turbo-windows-32/-/turbo-windows-32-1.2.9.tgz#89a0d8463dffba01627d69998bfe6ea5fa975511" + integrity sha512-XrMJMUtewlfksBUB0R7Tyw16IoqshVl6f/3R2ccMccddEMcvak0oW03FK9n+Y4F+wyIoJ22AVhu8jMv+HgEehA== + turbo-windows-64@1.2.16: version "1.2.16" resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-1.2.16.tgz#9f5f725d6ab829d3cf7944ba92714e9e5bdd09d0" integrity sha512-j8iAIixq/rGfBpHNbYOosxMasZrGuMzLILEuQGDxZgKNpYgobJ15QFHQlGR9sit1b8qPU5zZX4CtByRtkgH1Bw== +turbo-windows-64@1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-1.2.9.tgz#a55e3f32996ce4a8a538f9667748e7a1129ed10e" + integrity sha512-ewhj4MrqcMpW/keag4xG7YRLTJ7PzcqBc6Kc96OGD2qfK/uJV/r7H3Xt09WuYHRWwPgGEeNn8utpqdqbYfCVDw== + turbo-windows-arm64@1.2.16: version "1.2.16" resolved "https://registry.yarnpkg.com/turbo-windows-arm64/-/turbo-windows-arm64-1.2.16.tgz#75894186e9f1d6340a30c436d563c34999e5b87c" integrity sha512-4GpcJG3B8R9WDhwfT8fu6ZmOOfseCg6Q1cy/G8/zpJQk769yYcSnD8MgQhYgHB58aVFxZcMxBvLL6UA0UrpgWA== +turbo-windows-arm64@1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/turbo-windows-arm64/-/turbo-windows-arm64-1.2.9.tgz#3dc635c0031a0998be0322f9a258553f7cb4eb6e" + integrity sha512-B8BoNb/yZWAyKwQUbs2+UFzLmOu/WGv/+ADT6SQfI8jOaTenS7Od4bbMsGJT0iXcqv+v8TcWKX83KmQ6gxBQpg== + turbo@1.2.16: version "1.2.16" resolved "https://registry.yarnpkg.com/turbo/-/turbo-1.2.16.tgz#324c2d586f6fa77aa9173274f3b9d9efbe0735e4" @@ -16244,6 +16314,25 @@ turbo@1.2.16: turbo-windows-64 "1.2.16" turbo-windows-arm64 "1.2.16" +turbo@1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/turbo/-/turbo-1.2.9.tgz#61257149a2a29966c9941a16e0b5ad88b07b4e79" + integrity sha512-aPGzZqmUHE9yx9TS7wcAJnDmXiuQSNXDwU5b1KrgNlFuID18TL443wna79p7k4awmf4Yuhu1cSZIvO+se72iVQ== + optionalDependencies: + turbo-darwin-64 "1.2.9" + turbo-darwin-arm64 "1.2.9" + turbo-freebsd-64 "1.2.9" + turbo-freebsd-arm64 "1.2.9" + turbo-linux-32 "1.2.9" + turbo-linux-64 "1.2.9" + turbo-linux-arm "1.2.9" + turbo-linux-arm64 "1.2.9" + turbo-linux-mips64le "1.2.9" + turbo-linux-ppc64le "1.2.9" + turbo-windows-32 "1.2.9" + turbo-windows-64 "1.2.9" + turbo-windows-arm64 "1.2.9" + tween-functions@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/tween-functions/-/tween-functions-1.2.0.tgz#1ae3a50e7c60bb3def774eac707acbca73bbc3ff"