diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 0000000000..ffe730b747 --- /dev/null +++ b/.codespellrc @@ -0,0 +1,7 @@ +[codespell] +# Ref: https://github.com/codespell-project/codespell#using-a-config-file +skip = .git*,*.svg,i18n,*-lock.yaml,*.css,.codespellrc,migrations,*.js,*.map,*.mjs +check-hidden = true +# ignore all CamelCase and camelCase +ignore-regex = \b[A-Za-z][a-z]+[A-Z][a-zA-Z]+\b +ignore-words-list = tread diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 0000000000..ca87dc9347 --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,25 @@ +# Codespell configuration is within .codespellrc +--- +name: Codespell + +on: + push: + branches: [preview] + pull_request: + branches: [preview] + +permissions: + contents: read + +jobs: + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Annotate locations with typos + uses: codespell-project/codespell-problem-matcher@v1 + - name: Codespell + uses: codespell-project/actions-codespell@v2 diff --git a/apps/api/plane/api/serializers/intake.py b/apps/api/plane/api/serializers/intake.py index 5af4fd54be..fcfedcbd62 100644 --- a/apps/api/plane/api/serializers/intake.py +++ b/apps/api/plane/api/serializers/intake.py @@ -1,4 +1,4 @@ -# Module improts +# Module imports from .base import BaseSerializer from .issue import IssueExpandSerializer from plane.db.models import IntakeIssue, Issue diff --git a/apps/api/plane/app/views/cycle/base.py b/apps/api/plane/app/views/cycle/base.py index 3eda971b55..711d6724ac 100644 --- a/apps/api/plane/app/views/cycle/base.py +++ b/apps/api/plane/app/views/cycle/base.py @@ -1196,7 +1196,7 @@ class CycleAnalyticsEndpoint(BaseAPIView): if the issues were transferred to the new cycle, then the progress_snapshot will be present return the progress_snapshot data in the analytics for each date - else issues were not transferred to the new cycle then generate the stats from the cycle isssue bridge tables + else issues were not transferred to the new cycle then generate the stats from the cycle issue bridge tables """ if cycle.progress_snapshot: diff --git a/apps/api/plane/app/views/project/member.py b/apps/api/plane/app/views/project/member.py index 8102809ac3..0fc19adebb 100644 --- a/apps/api/plane/app/views/project/member.py +++ b/apps/api/plane/app/views/project/member.py @@ -48,7 +48,7 @@ class ProjectMemberViewSet(BaseViewSet): # Check if the members array is empty if not len(members): return Response( - {"error": "Atleast one member is required"}, + {"error": "At least one member is required"}, status=status.HTTP_400_BAD_REQUEST, ) diff --git a/apps/api/plane/authentication/adapter/error.py b/apps/api/plane/authentication/adapter/error.py index 7c629b4414..c8622277e2 100644 --- a/apps/api/plane/authentication/adapter/error.py +++ b/apps/api/plane/authentication/adapter/error.py @@ -48,7 +48,7 @@ AUTHENTICATION_ERROR_CODES = { "INCORRECT_OLD_PASSWORD": 5135, "MISSING_PASSWORD": 5138, "INVALID_NEW_PASSWORD": 5140, - # set passowrd + # set password "PASSWORD_ALREADY_SET": 5145, # Admin "ADMIN_ALREADY_EXIST": 5150, diff --git a/apps/api/plane/db/management/commands/activate_user.py b/apps/api/plane/db/management/commands/activate_user.py index 29123b4e55..5ebe8b7409 100644 --- a/apps/api/plane/db/management/commands/activate_user.py +++ b/apps/api/plane/db/management/commands/activate_user.py @@ -31,4 +31,4 @@ class Command(BaseCommand): user.is_active = True user.save() - self.stdout.write(self.style.SUCCESS("User activated succesfully")) + self.stdout.write(self.style.SUCCESS("User activated successfully")) diff --git a/apps/api/plane/db/management/commands/reset_password.py b/apps/api/plane/db/management/commands/reset_password.py index 8ec472bfad..9e483f51e3 100644 --- a/apps/api/plane/db/management/commands/reset_password.py +++ b/apps/api/plane/db/management/commands/reset_password.py @@ -59,4 +59,4 @@ class Command(BaseCommand): user.is_password_autoset = False user.save() - self.stdout.write(self.style.SUCCESS("User password updated succesfully")) + self.stdout.write(self.style.SUCCESS("User password updated successfully")) diff --git a/apps/api/plane/db/management/commands/update_bucket.py b/apps/api/plane/db/management/commands/update_bucket.py index ead8689958..47c28ff739 100644 --- a/apps/api/plane/db/management/commands/update_bucket.py +++ b/apps/api/plane/db/management/commands/update_bucket.py @@ -70,7 +70,7 @@ class Command(BaseCommand): try: s3_client.delete_object(Bucket=bucket_name, Key="test_permission_check.txt") except ClientError: - self.stdout.write("Coudn't delete test object") + self.stdout.write("Couldn't delete test object") # 4. Test s3:PutBucketPolicy (attempt to put a bucket policy) try: diff --git a/apps/space/helpers/authentication.helper.tsx b/apps/space/helpers/authentication.helper.tsx index 409a751507..7e409022e9 100644 --- a/apps/space/helpers/authentication.helper.tsx +++ b/apps/space/helpers/authentication.helper.tsx @@ -66,7 +66,7 @@ export enum EAuthenticationErrorCodes { INCORRECT_OLD_PASSWORD = "5135", MISSING_PASSWORD = "5138", INVALID_NEW_PASSWORD = "5140", - // set passowrd + // set password PASSWORD_ALREADY_SET = "5145", // Admin ADMIN_ALREADY_EXIST = "5150", diff --git a/apps/web/ce/store/timeline/base-timeline.store.ts b/apps/web/ce/store/timeline/base-timeline.store.ts index d64508b64e..37a75d3de1 100644 --- a/apps/web/ce/store/timeline/base-timeline.store.ts +++ b/apps/web/ce/store/timeline/base-timeline.store.ts @@ -313,7 +313,7 @@ export class BaseTimeLineStore implements IBaseTimelineStore { }); /** - * updates the block's position such as marginLeft and width wile dragging + * updates the block's position such as marginLeft and width while dragging * @param id * @param deltaLeft * @param deltaWidth diff --git a/apps/web/core/components/issues/issue-layouts/list/base-list-root.tsx b/apps/web/core/components/issues/issue-layouts/list/base-list-root.tsx index aef8560536..5de56c3476 100644 --- a/apps/web/core/components/issues/issue-layouts/list/base-list-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/list/base-list-root.tsx @@ -132,7 +132,7 @@ export const BaseListRoot = observer((props: IBaseListRoot) => { [fetchNextIssues] ); - // kanbanFilters and EIssueFilterType.KANBAN_FILTERS are used becuase the state is shared between kanban view and list view + // kanbanFilters and EIssueFilterType.KANBAN_FILTERS are used because the state is shared between kanban view and list view const handleCollapsedGroups = useCallback( (value: string) => { if (workspaceSlug) { diff --git a/apps/web/core/lib/polyfills/requestIdleCallback.ts b/apps/web/core/lib/polyfills/requestIdleCallback.ts index 86d1655b69..e006a090f1 100644 --- a/apps/web/core/lib/polyfills/requestIdleCallback.ts +++ b/apps/web/core/lib/polyfills/requestIdleCallback.ts @@ -1,5 +1,5 @@ if (typeof window !== "undefined" && window) { - // Add request callback polyfill to browser incase it does not exist + // Add request callback polyfill to browser in case it does not exist window.requestIdleCallback = window.requestIdleCallback ?? function (cb) { diff --git a/apps/web/core/local-db/worker/wa-sqlite/src/types/index.d.ts b/apps/web/core/local-db/worker/wa-sqlite/src/types/index.d.ts index 0f522f6e16..d34552b93c 100644 --- a/apps/web/core/local-db/worker/wa-sqlite/src/types/index.d.ts +++ b/apps/web/core/local-db/worker/wa-sqlite/src/types/index.d.ts @@ -110,7 +110,7 @@ declare interface SQLitePrepareOptions { * the corresponding Javascript wrapper will throw an exception with a * `code` property on an error. * - * Note that a few functions return a Promise in order to accomodate + * Note that a few functions return a Promise in order to accommodate * either a synchronous or asynchronous SQLite build, generally those * involved with opening/closing a database or executing a statement. * @@ -330,7 +330,7 @@ declare interface SQLiteAPI { column(stmt: number, i: number): SQLiteCompatibleType; /** - * Extract a column value from a row after a prepared statment {@link step} + * Extract a column value from a row after a prepared statement {@link step} * * The contents of the returned buffer may be invalid after the * next SQLite call. Make a copy of the data (e.g. with `.slice()`) @@ -360,7 +360,7 @@ declare interface SQLiteAPI { column_count(stmt: number): number; /** - * Extract a column value from a row after a prepared statment {@link step} + * Extract a column value from a row after a prepared statement {@link step} * @see https://www.sqlite.org/c3ref/column_blob.html * @param stmt prepared statement pointer * @param i column index @@ -369,7 +369,7 @@ declare interface SQLiteAPI { column_double(stmt: number, i: number): number; /** - * Extract a column value from a row after a prepared statment {@link step} + * Extract a column value from a row after a prepared statement {@link step} * @see https://www.sqlite.org/c3ref/column_blob.html * @param stmt prepared statement pointer * @param i column index @@ -378,7 +378,7 @@ declare interface SQLiteAPI { column_int(stmt: number, i: number): number; /** - * Extract a column value from a row after a prepared statment {@link step} + * Extract a column value from a row after a prepared statement {@link step} * @see https://www.sqlite.org/c3ref/column_blob.html * @param stmt prepared statement pointer * @param i column index @@ -406,7 +406,7 @@ declare interface SQLiteAPI { column_names(stmt: number): Array; /** - * Extract a column value from a row after a prepared statment {@link step} + * Extract a column value from a row after a prepared statement {@link step} * @see https://www.sqlite.org/c3ref/column_blob.html * @param stmt prepared statement pointer * @param i column index @@ -1190,7 +1190,7 @@ declare module "wa-sqlite/src/VFS.js" { */ xAccess(name: string, flags: number, pResOut: DataView): number; /** - * Handle asynchronous operation. This implementation will be overriden on + * Handle asynchronous operation. This implementation will be overridden on * registration by an Asyncify build. * @param {function(): Promise} f * @returns {number} diff --git a/apps/web/core/store/issue/helpers/base-issues.store.ts b/apps/web/core/store/issue/helpers/base-issues.store.ts index e08d22d329..a6e0baf526 100644 --- a/apps/web/core/store/issue/helpers/base-issues.store.ts +++ b/apps/web/core/store/issue/helpers/base-issues.store.ts @@ -1673,7 +1673,7 @@ export abstract class BaseIssuesStore implements IBaseIssuesStore { }; /** - * This Method is used to get data of the issue based on the ids of the data for states, labels adn assignees + * This Method is used to get data of the issue based on the ids of the data for states, labels and assignees * @param dataType what type of data is being sent * @param dataIds id/ids of the data that is to be populated * @param order ascending or descending for arrays of data diff --git a/apps/web/core/store/state.store.ts b/apps/web/core/store/state.store.ts index 529add901d..7c8a433bb7 100644 --- a/apps/web/core/store/state.store.ts +++ b/apps/web/core/store/state.store.ts @@ -238,7 +238,7 @@ export class StateStore implements IStateStore { }; /** - * deletes the state from the store, incase of failure reverts back to original state + * deletes the state from the store, in case of failure reverts back to original state * @param workspaceSlug * @param projectId * @param stateId diff --git a/apps/web/core/store/user/index.ts b/apps/web/core/store/user/index.ts index 27ffa3d0b7..ef7a8d46d7 100644 --- a/apps/web/core/store/user/index.ts +++ b/apps/web/core/store/user/index.ts @@ -256,7 +256,7 @@ export class UserStore implements IUserStore { // helper actions /** - * @description fetches the prjects with write permissions + * @description fetches the projects with write permissions * @returns {{[projectId: string]: number} || null} */ fetchProjectsWithCreatePermissions = (): { [key: string]: TUserPermissions } => { diff --git a/apps/web/helpers/authentication.helper.tsx b/apps/web/helpers/authentication.helper.tsx index e8ecd592cf..559b5531c0 100644 --- a/apps/web/helpers/authentication.helper.tsx +++ b/apps/web/helpers/authentication.helper.tsx @@ -78,7 +78,7 @@ export enum EAuthenticationErrorCodes { INCORRECT_OLD_PASSWORD = "5135", MISSING_PASSWORD = "5138", INVALID_NEW_PASSWORD = "5140", - // set passowrd + // set password PASSWORD_ALREADY_SET = "5145", // Admin ADMIN_ALREADY_EXIST = "5150", diff --git a/deployments/cli/community/README.md b/deployments/cli/community/README.md index 8cec0f72b3..dd5079366b 100644 --- a/deployments/cli/community/README.md +++ b/deployments/cli/community/README.md @@ -156,7 +156,7 @@ There are many other settings you can play with, but we suggest you configure `E ### Continue with setup - Start Server (Docker Compose) -Lets again run the `./setup.sh` command. You will again be prompted with the below options. This time select `2` to start the sevices +Lets again run the `./setup.sh` command. You will again be prompted with the below options. This time select `2` to start the services ```bash Select a Action you want to perform: @@ -191,7 +191,7 @@ In case you want to make changes to `plane.env` variables, we suggest you to sto #### Docker Compose -Lets again run the `./setup.sh` command. You will again be prompted with the below options. This time select `3` to stop the sevices +Lets again run the `./setup.sh` command. You will again be prompted with the below options. This time select `3` to stop the services ```bash Select a Action you want to perform: @@ -213,7 +213,7 @@ If all goes well, you must see something like this #### Docker Swarm -Lets again run the `./setup.sh` command. You will again be prompted with the below options. This time select `2` to stop the sevices +Lets again run the `./setup.sh` command. You will again be prompted with the below options. This time select `2` to stop the services ```bash Select an Action you want to perform: @@ -236,7 +236,7 @@ If all goes well, you will see the confirmation from docker cli In case you want to make changes to `plane.env` variables, without stopping the server or you noticed some abnormalies in services, you can restart the services with `RESTART` / `REDEPLOY` option. -Lets again run the `./setup.sh` command. You will again be prompted with the below options. This time select `4` to restart the sevices +Lets again run the `./setup.sh` command. You will again be prompted with the below options. This time select `4` to restart the services #### Docker Compose ```bash diff --git a/packages/editor/src/core/extensions/code/lowlight-plugin.ts b/packages/editor/src/core/extensions/code/lowlight-plugin.ts index 4d3973ef5c..115ea9b066 100644 --- a/packages/editor/src/core/extensions/code/lowlight-plugin.ts +++ b/packages/editor/src/core/extensions/code/lowlight-plugin.ts @@ -114,7 +114,7 @@ export function LowlightPlugin({ ([oldNodeName, newNodeName].includes(name) || // OR transaction adds/removes named node, newNodes.length !== oldNodes.length || - // OR transaction has changes that completely encapsulte a node + // OR transaction has changes that completely encapsulate a node // (for example, a transaction that affects the entire document). // Such transactions can happen during collab syncing via y-prosemirror, for example. transaction.steps.some( diff --git a/packages/editor/src/core/extensions/custom-link/helpers/autolink.ts b/packages/editor/src/core/extensions/custom-link/helpers/autolink.ts index cf67e13d90..3fa14ab492 100644 --- a/packages/editor/src/core/extensions/custom-link/helpers/autolink.ts +++ b/packages/editor/src/core/extensions/custom-link/helpers/autolink.ts @@ -47,7 +47,7 @@ export function autolink(options: AutolinkOptions): Plugin { ); } else if ( nodesInChangedRanges.length && - // We want to make sure to include the block seperator argument to treat hard breaks like spaces. + // We want to make sure to include the block separator argument to treat hard breaks like spaces. newState.doc.textBetween(newRange.from, newRange.to, " ", " ").endsWith(" ") ) { textBlock = nodesInChangedRanges[0]; diff --git a/packages/types/src/analytics.ts b/packages/types/src/analytics.ts index ace60f7c32..aa1b1e1266 100644 --- a/packages/types/src/analytics.ts +++ b/packages/types/src/analytics.ts @@ -73,7 +73,7 @@ export interface WorkItemInsightColumns { backlog_work_items: number; un_started_work_items: number; started_work_items: number; - // incase of peek view, we will display the display_name instead of project__name + // in case of peek view, we will display the display_name instead of project__name display_name?: string; avatar_url?: string; assignee_id?: string;