{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":305492913,"defaultBranch":"main","name":"spectral-jsonapi-ruleset","ownerLogin":"jmlue42","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-10-19T19:31:37.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/769395?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1718549745.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"7e96f04fec10901fe51ad92453189b523eb2d9b4","ref":"refs/heads/dependabot/npm_and_yarn/braces-3.0.3","pushedAt":"2024-06-16T14:55:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump braces from 3.0.2 to 3.0.3\n\nBumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.\n- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)\n\n---\nupdated-dependencies:\n- dependency-name: braces\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump braces from 3.0.2 to 3.0.3"}},{"before":"694df0d2316ce278e80ef917b5338802ba161057","after":null,"ref":"refs/heads/feature/marquje/stoplight-documentation","pushedAt":"2024-01-29T22:30:01.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jmlue42","name":"Jeff Marquez","path":"/jmlue42","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/769395?s=80&v=4"}},{"before":"7839a7d9f0d1eb7727056f9b83b636d76f8d8d99","after":"7c5df2a80f647c87029a617c82474216c9c10c8a","ref":"refs/heads/main","pushedAt":"2024-01-29T22:30:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jmlue42","name":"Jeff Marquez","path":"/jmlue42","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/769395?s=80&v=4"},"commit":{"message":"Adding markdown formatted descriptions with examples for Stoplight.io compatibility (#72)","shortMessageHtmlLink":"Adding markdown formatted descriptions with examples for Stoplight.io…"}},{"before":"7839a7d9f0d1eb7727056f9b83b636d76f8d8d99","after":"694df0d2316ce278e80ef917b5338802ba161057","ref":"refs/heads/feature/marquje/stoplight-documentation","pushedAt":"2024-01-29T22:21:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marquje","name":"Jeff Marquez","path":"/marquje","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71781792?s=80&v=4"},"commit":{"message":"Adding markdown formatted descriptions with examples for Stoplight.io compatibility","shortMessageHtmlLink":"Adding markdown formatted descriptions with examples for Stoplight.io…"}},{"before":null,"after":"7839a7d9f0d1eb7727056f9b83b636d76f8d8d99","ref":"refs/heads/feature/marquje/stoplight-documentation","pushedAt":"2024-01-29T21:21:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marquje","name":"Jeff Marquez","path":"/marquje","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71781792?s=80&v=4"},"commit":{"message":"Correcting parameter rules json-path selectors. Fixing Spectral error: @.name is 'null' (#71)","shortMessageHtmlLink":"Correcting parameter rules json-path selectors. Fixing Spectral error…"}},{"before":"8a7d8e99231520d75f2166a328d88845f5c73239","after":null,"ref":"refs/heads/bug-fix/marquje/parameters-name-null-error","pushedAt":"2024-01-26T17:12:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jmlue42","name":"Jeff Marquez","path":"/jmlue42","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/769395?s=80&v=4"}},{"before":"0de6765fb8397efc9058792ffbde4abc95d7bc63","after":"7839a7d9f0d1eb7727056f9b83b636d76f8d8d99","ref":"refs/heads/main","pushedAt":"2024-01-26T17:12:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jmlue42","name":"Jeff Marquez","path":"/jmlue42","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/769395?s=80&v=4"},"commit":{"message":"Correcting parameter rules json-path selectors. Fixing Spectral error: @.name is 'null' (#71)","shortMessageHtmlLink":"Correcting parameter rules json-path selectors. Fixing Spectral error…"}},{"before":"0de6765fb8397efc9058792ffbde4abc95d7bc63","after":"8a7d8e99231520d75f2166a328d88845f5c73239","ref":"refs/heads/bug-fix/marquje/parameters-name-null-error","pushedAt":"2024-01-26T17:08:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marquje","name":"Jeff Marquez","path":"/marquje","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71781792?s=80&v=4"},"commit":{"message":"Correcting parameter rules json-path selectors. Fixing Spectral error: @.name is 'null'","shortMessageHtmlLink":"Correcting parameter rules json-path selectors. Fixing Spectral error…"}},{"before":null,"after":"0de6765fb8397efc9058792ffbde4abc95d7bc63","ref":"refs/heads/bug-fix/marquje/parameters-name-null-error","pushedAt":"2024-01-26T17:02:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marquje","name":"Jeff Marquez","path":"/marquje","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71781792?s=80&v=4"},"commit":{"message":"Update package.json","shortMessageHtmlLink":"Update package.json"}},{"before":"366c415c3e42875fe4a9f1b273205215afe25e53","after":"0de6765fb8397efc9058792ffbde4abc95d7bc63","ref":"refs/heads/main","pushedAt":"2024-01-24T18:45:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jmlue42","name":"Jeff Marquez","path":"/jmlue42","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/769395?s=80&v=4"},"commit":{"message":"Update package.json","shortMessageHtmlLink":"Update package.json"}},{"before":"39a7132cc1b5c559164e44af4c92ea235615d42f","after":null,"ref":"refs/heads/feature/marquje/format-overhaul","pushedAt":"2024-01-24T18:42:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jmlue42","name":"Jeff Marquez","path":"/jmlue42","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/769395?s=80&v=4"}},{"before":"33c432d793f5113d8daa755e8e3cd77c966d6705","after":"366c415c3e42875fe4a9f1b273205215afe25e53","ref":"refs/heads/main","pushedAt":"2024-01-24T18:42:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jmlue42","name":"Jeff Marquez","path":"/jmlue42","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/769395?s=80&v=4"},"commit":{"message":"This commit signifies a MAJOR reorganization of this project. (#63)\n\nSpectral proper and Stoplight.io's integration of it currently have significant functional gaps in regards to supported\r\nrules formats (.js vs .json vs .yml), abilities to split files, and use of remote (http) rulesets.\r\n\r\nDue to this as well as our need to leverage both Stoplight.io AND Spectral separately the ruleset has been re-created to meet the lowest common denominator (Stoplight.io).\r\n\r\nOverview of the changes are:\r\n\r\n- Conversion and consolidation of rulesets into a single YAML file with spectral/stoplight default naming: .spectral.yml\r\n- Above change rendered existing test suites invalid and have been removed. Replacements tests to be considered in the future.\r\n- Current Testing now exists of linting a 'valid' OAS3.1 file against the ruleset.\r\n- Dev Dependencies have been updated.\r\n- npm test script has been updated to run spectral against the examples/valid folder\r\n\r\nNote-worthy Section Rules Added:\r\n\r\n- Document Structure:\r\n\t- Resource Objects\r\n\t\t- Attributes\r\n\t\t- Relationsihps\r\n\t\t- Related Resource Links\r\n\t\t- Resource Linkage\r\n\t\t- Resource Links\r\n\t- Compound Document\r\n- Fetching Data\r\n\t- Fetching Resources\r\n\t\t- Responses\r\n\t- Fetching Relationships\r\n\t- Inclusion of Related Resources\r\n\t- Sparse Fieldsets\r\n\t- Sorting\r\n\t- Pagination\r\n\t- Filtering\r\n- Creating/Updating/Deleting\r\n\t- Creating Resources\r\n\t- Updating Resources\r\n\t- Deleting Resources","shortMessageHtmlLink":"This commit signifies a MAJOR reorganization of this project. (#63)"}},{"before":"33c432d793f5113d8daa755e8e3cd77c966d6705","after":"39a7132cc1b5c559164e44af4c92ea235615d42f","ref":"refs/heads/feature/marquje/format-overhaul","pushedAt":"2024-01-24T18:27:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marquje","name":"Jeff Marquez","path":"/marquje","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71781792?s=80&v=4"},"commit":{"message":"This commit signifies a MAJOR reorganization of this project.\n\nSpectral proper and Stoplight.io's integration of it currrently have significant functional gaps in regards to supported\nrules formats (.js vs .json vs .yml), abilities to split files, and use of remote (http) rulesets.\n\nDue to this as well as our need to leverage both Stoplight.io AND Spectral separately the ruleset has been re-created to meet\nthe lowest common denominatior (Stoplight.io).\n\nOverview of the changes are:\n\n- Conversion and consolidation of rulesets into a single YAML file with spectral/stoplight default naming: .spectral.yml\n- Above change rendered existing test suites invalid and have been removed. Replacements tests to be considered in the future.\n- Current Testing now exists of linting a 'valid' OAS3.1 file against the ruleset.\n- Dev Dependencies have been updated.\n- npm test script has been updated to run spectral against the examples/valid folder\n\nNote-worthy Section Rules Added:\n\n- Document Structure:\n\t- Resource Objects\n\t\t- Attributes\n\t\t- Relationsihps\n\t\t- Related Resource Links\n\t\t- Resource Linkage\n\t\t- Resource Links\n\t- Compound Document\n- Fetching Data\n\t- Fetching Resources\n\t\t- Responses\n\t- Fetching Relationships\n\t- Inclusion of Related Resources\n\t- Sparse Fieldsets\n\t- Sorting\n\t- Pagination\n\t- Filtering\n- Creating/Updating/Deleting\n\t- Creating Resources\n\t- Updating Resources\n\t- Deleting Resources","shortMessageHtmlLink":"This commit signifies a MAJOR reorganization of this project."}},{"before":null,"after":"33c432d793f5113d8daa755e8e3cd77c966d6705","ref":"refs/heads/feature/marquje/format-overhaul","pushedAt":"2024-01-24T16:45:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marquje","name":"Jeff Marquez","path":"/marquje","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71781792?s=80&v=4"},"commit":{"message":"API-54 Errors.Processing (#61)\n\n* Feat: Adding New Spectral Ruleset\r\nThis commit introduces a new set of Spectral rules specifically tailored for validating JSON:API v1.0 Errors - Processing Errors within an OpenAPI Document. Key highlights include:\r\n\r\n- Creation of Spectral rules to ensure compliance with JSON:API v1.0 standards, focusing on Processing Errors specifications.\r\n- Validating that the errors array is following the standard from JSON:API v1.0\r\n\r\nThese additions significantly improve our capability to automatically validate and ensure the consistency of API responses with the JSON:API v1.0 standard.\r\n\r\n* Feat: Test Case Completion\r\nThis commit marks the completion of detailed test cases for all of the JSON:API v1.0 Errors - Processing Errors ruleset.\r\n\r\nThese updates significantly improve the robustness and relaibility of the JSON:API v1.0 specifications for Processing Errors validation process.\r\n\r\n* Feat: Passing/Failing OpenAPI Documents for Spectral CLI Testing\r\n\r\n- These two files provides a way to test all the created rules for both positive and negative scenarios.\r\n- Created a failing-rules.yaml which generates a way to trigger all the rules to display the error message\r\n- Refactored 'Errors' location to adhere to correct strucutre for both Errors sections\r\n- Updated the passing-rules.yaml to adhere to the specifications of JSON:API v1.0 for Processing Errors.\r\n\r\n* Fix: Removing exclusive test flag.\r\n\r\n---------\r\n\r\nCo-authored-by: Akshay Pathak <100951743+AkshayPathakMLF@users.noreply.github.com>","shortMessageHtmlLink":"API-54 Errors.Processing (#61)"}},{"before":"33c432d793f5113d8daa755e8e3cd77c966d6705","after":null,"ref":"refs/heads/feature/marqueje/format-overhaul","pushedAt":"2024-01-24T16:43:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"marquje","name":"Jeff Marquez","path":"/marquje","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71781792?s=80&v=4"}},{"before":null,"after":"33c432d793f5113d8daa755e8e3cd77c966d6705","ref":"refs/heads/feature/marqueje/format-overhaul","pushedAt":"2024-01-24T16:42:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marquje","name":"Jeff Marquez","path":"/marquje","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71781792?s=80&v=4"},"commit":{"message":"API-54 Errors.Processing (#61)\n\n* Feat: Adding New Spectral Ruleset\r\nThis commit introduces a new set of Spectral rules specifically tailored for validating JSON:API v1.0 Errors - Processing Errors within an OpenAPI Document. Key highlights include:\r\n\r\n- Creation of Spectral rules to ensure compliance with JSON:API v1.0 standards, focusing on Processing Errors specifications.\r\n- Validating that the errors array is following the standard from JSON:API v1.0\r\n\r\nThese additions significantly improve our capability to automatically validate and ensure the consistency of API responses with the JSON:API v1.0 standard.\r\n\r\n* Feat: Test Case Completion\r\nThis commit marks the completion of detailed test cases for all of the JSON:API v1.0 Errors - Processing Errors ruleset.\r\n\r\nThese updates significantly improve the robustness and relaibility of the JSON:API v1.0 specifications for Processing Errors validation process.\r\n\r\n* Feat: Passing/Failing OpenAPI Documents for Spectral CLI Testing\r\n\r\n- These two files provides a way to test all the created rules for both positive and negative scenarios.\r\n- Created a failing-rules.yaml which generates a way to trigger all the rules to display the error message\r\n- Refactored 'Errors' location to adhere to correct strucutre for both Errors sections\r\n- Updated the passing-rules.yaml to adhere to the specifications of JSON:API v1.0 for Processing Errors.\r\n\r\n* Fix: Removing exclusive test flag.\r\n\r\n---------\r\n\r\nCo-authored-by: Akshay Pathak <100951743+AkshayPathakMLF@users.noreply.github.com>","shortMessageHtmlLink":"API-54 Errors.Processing (#61)"}},{"before":"5b13a7160c35569b6b2a0086731c564860754963","after":"33c432d793f5113d8daa755e8e3cd77c966d6705","ref":"refs/heads/main","pushedAt":"2023-12-29T06:59:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AkshayPathakMLF","name":"Akshay Pathak","path":"/AkshayPathakMLF","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/100951743?s=80&v=4"},"commit":{"message":"API-54 Errors.Processing (#61)\n\n* Feat: Adding New Spectral Ruleset\r\nThis commit introduces a new set of Spectral rules specifically tailored for validating JSON:API v1.0 Errors - Processing Errors within an OpenAPI Document. Key highlights include:\r\n\r\n- Creation of Spectral rules to ensure compliance with JSON:API v1.0 standards, focusing on Processing Errors specifications.\r\n- Validating that the errors array is following the standard from JSON:API v1.0\r\n\r\nThese additions significantly improve our capability to automatically validate and ensure the consistency of API responses with the JSON:API v1.0 standard.\r\n\r\n* Feat: Test Case Completion\r\nThis commit marks the completion of detailed test cases for all of the JSON:API v1.0 Errors - Processing Errors ruleset.\r\n\r\nThese updates significantly improve the robustness and relaibility of the JSON:API v1.0 specifications for Processing Errors validation process.\r\n\r\n* Feat: Passing/Failing OpenAPI Documents for Spectral CLI Testing\r\n\r\n- These two files provides a way to test all the created rules for both positive and negative scenarios.\r\n- Created a failing-rules.yaml which generates a way to trigger all the rules to display the error message\r\n- Refactored 'Errors' location to adhere to correct strucutre for both Errors sections\r\n- Updated the passing-rules.yaml to adhere to the specifications of JSON:API v1.0 for Processing Errors.\r\n\r\n* Fix: Removing exclusive test flag.\r\n\r\n---------\r\n\r\nCo-authored-by: Akshay Pathak <100951743+AkshayPathakMLF@users.noreply.github.com>","shortMessageHtmlLink":"API-54 Errors.Processing (#61)"}},{"before":"e8e750bb7b142e972f5b39712d6b401318243f6b","after":"5b13a7160c35569b6b2a0086731c564860754963","ref":"refs/heads/main","pushedAt":"2023-12-29T06:56:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AkshayPathakMLF","name":"Akshay Pathak","path":"/AkshayPathakMLF","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/100951743?s=80&v=4"},"commit":{"message":"API-23 DocumentStructure.Resource.Fields (#62)\n\n* Feat: Adding New Spectral Ruleset\r\nThis commit introduces a new set of Spectral rules specifically tailored for validating JSON:API v1.0 Resource Objects Fields within an OpenAPI Document. Key highlights include:\r\n\r\n- Creation of Spectral rules to ensure compliance with JSON:API v1.0 standards, focusing on Resource Objects Fields specifications.\r\n\r\nThese additions significantly improve our capability to automatically validate and ensure the consistency of API responses with the JSON:API v1.0 standard.\r\n\r\n* Feat: Test Case Completion\r\nThis commit marks the completion of detailed test cases for all of the JSON:API v1.0 Document Structure Resource Objects Fields ruleset:\r\n\r\nThese updates significantly improve the robustness and relaibility of the JSON:API v1.0 specifications for Resource Objects Fields validation process.\r\n\r\n* Feat: Passing/Failing OpenAPI Documents for Spectral CLI Testing\r\n\r\n- These two files provides a way to test al lthe created rules for both positive and negative scenarios.\r\n- Created a failing-rules.yaml which generates a way to trigger all the rules to display the error message\r\n- Updated the passing-rules.yaml to adhere to the specifications of JSON:API v1.0 for Document Structure - Resource Objects - Fields.","shortMessageHtmlLink":"API-23 DocumentStructure.Resource.Fields (#62)"}},{"before":"5d01a4d6cf60f4e92b2d9490bfb61c0fe96e451d","after":"e8e750bb7b142e972f5b39712d6b401318243f6b","ref":"refs/heads/main","pushedAt":"2023-12-27T00:26:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AkshayPathakMLF","name":"Akshay Pathak","path":"/AkshayPathakMLF","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/100951743?s=80&v=4"},"commit":{"message":"API-30 FetchingData.FetchingResources (#55)\n\n* Initial Setup\r\n\r\n* Feat: Adding New Spectral Ruleset\r\nThis commit introduces a new set of Spectral rules specifically tailored for validating JSON:API v1.0 Fetching Data - Fetching Resources within an OpenAPI Document. Key highlights include:\r\n\r\n- Creation of Spectral rules to ensure compliance with JSON:API v1.0 standards, focusing on Fetching Resources specifications.\r\n- Validating that a server MUST supprt fetching resource data for every URL that is provided to a strict format.\r\n\r\nThese additions significantly improve our capability to automatically validate and ensure the consistency of API responses with the JSON:API v1.0 standard.\r\n\r\n* Enhance: refactored valid OpenAPI Template\r\nThis document serves as a standardized template for verifying positive test scenarios in ruleset development. To ensure that the document can be tested against multiple rulesets, the design and endpoints were refactored. This document is now closer to adhering to JSON:API v1.0 specifications. Covered sections include:\r\n- ContentNegotiation.ClientResponsibilities\r\n- ContentNegotiation.ServerResponsibilities\r\n- DocumentStructure\r\n- DocumentStructure.TopLevel\r\n- DocumentStructure.ResourceObjects\r\n- DocumentStructure.ResourceObjects.Attributes\r\n- DocumentStructure.Links\r\n- DocumentStructure.MetaInformation\r\n- DocumentStructure.MemberNames\r\n- FetchingData.FetchingResources\r\n- FetchingData.Sorting\r\n- FetchingData.Pagination\r\n- FetchingData.Filtering\r\n- Errors.ProcessingErrors\r\n- Errors.ErrorObjects\r\n\r\n* Feat: Test Case Completion\r\nThis commit marks the completion of detailed test cases for all of the JSON:API v1.0 Fetching Data - Fetching Resources ruleset.\r\n\r\nThese updates significantly improve the robustness and relaibility of the JSON:API v1.0 specifications for Fetching Resources validation process.\r\n\r\n* Feat: Passing/Failing OpenAPI Documents for Spectral CLI Testing\r\n- These two files provides a way to test all the created rules for both positive and negative scenarios.\r\n- Created a failing-rules.yaml which generates a way to trigger all the rules to display the error message\r\n- Updated the passing-rules.yaml to adhere to the specifications of JSON:API v1.0 for Fetching Resources.","shortMessageHtmlLink":"API-30 FetchingData.FetchingResources (#55)"}},{"before":"256c917a5799b145069e2637c87d8924436b04b3","after":"5d01a4d6cf60f4e92b2d9490bfb61c0fe96e451d","ref":"refs/heads/main","pushedAt":"2023-12-21T15:36:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AkshayPathakMLF","name":"Akshay Pathak","path":"/AkshayPathakMLF","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/100951743?s=80&v=4"},"commit":{"message":"API-24 DocumentStructure.Resource.Attributes (#52)\n\n* Refactor resolveRef to perserve components in OpenAPI Documents\r\n\r\nThis commit updates the resovleRef function ti maintain the integrity of the original OpenAPI document. Previously, the function removed resolved components from the document's `components` section, which led to issues in subsequent reuse of the document, especially in test environments where the same document was dereferenced multiple times.\r\n\r\nThe refacotring includes:\r\n= Removing the logic that deletes components from the root document after resolution.\r\n- Adjusting related functions to align with this change (UnitTests)\r\n\r\nThis change ensures that eash test or operation that involves dereferencing an OpenAPI document works with a complete and unaltered version of the document, thereby preventing errors related to missing components in later tests or operations. It enhances the reliability and repeatability of tests and operations that depend on the OpenAPI document.\r\n\r\n* Feat: Adding New Spectral Ruleset\r\n\r\nThis commit introduces a new set of Spectral rules specifically tailored for validating JSON:API v1.0 Resource Objects Attributes within an OpenAPI Document. Key highlights include:\r\n\r\n- Creation of Spectral rules to ensure compliance with JSON:API v1.0 standards, focusing on Resource Objects Attributes specifications.\r\n- Ensuring `attributes` do not contain any `relationships` member or `links` member and no foreign keys.\r\n\r\nThese additions significantly improve our capability to automatically validate and ensure the consistency of API responses with the JSON:API v1.0 standard.\r\n\r\n* Enhance: refactored valid OpenAPI Template\r\n\r\nThis document serves as a standardized template for verifying positive test scenarios in ruleset development. To ensure that the document can be tested against multiple rulesets, the design and endpoints were refactored. This document is now closer to adhering to JSON:API v1.0 specifications. Covered sections include:\r\n- ContentNegotiation.ClientResponsibilities\r\n- ContentNegotiation.ServerResponsibilities\r\n- DocumentStructure\r\n- DocumentStructure.TopLevel\r\n- DocumentStructure.ResourceObjects\r\n- DocumentStructure.ResourceObjects.Attributes\r\n- DocumentStructure.Links\r\n- DocumentStructure.MetaInformation\r\n- DocumentStructure.MemberNames\r\n- FetchingData.Sorting\r\n- FetchingData.Pagination\r\n- FetchingData.Filtering\r\n- Errors.ProcessingErrors\r\n- Errors.ErrorObjects\r\n\r\n* Feat: Test Case Completion\r\n\r\nThis commit marks the completion of detailed test cases for all of the JSON:API v1.0 Document Structure Resource Objects Attributes ruleset:\r\n- document-structure-resource-single-attributes-type\r\n- document-structure-resource-single-attributes-no-foreign-keys\r\n- document-structure-resource-single-attributes-no-relationships-member\r\n- document-structure-resource-single-attributes-no-links-member\r\n- document-structure-resource-array-attributes-type\r\n- document-structure-resource-array-attributes-no-foreign-keys\r\n- document-structure-resource-array-attributes-no-relationships-member\r\n- document-structure-resource-array-attributes-no-links-member\r\n\r\nThese updates significantly improve the robustness and relaibility of the JSON:API v1.0 specifications for Resource Objects Attributes validation process.\r\n\r\n* Feat: Passing/Failing OpenAPI Documents for Spectral CLI Testing\r\n\r\n- These two files provides a way to test al lthe created rules for both positive and negative scenarios.\r\n- Created a failing-rules.yaml which generates a way to trigger all the rules to display the error message\r\n- Updated the passing-rules.yaml to adhere to the specifications of JSON:API v1.0 for attributes.\r\n\r\n* Providing comment for status codes\r\n\r\n* Increase global timeout for Mocha tests to 10000ms\r\n\r\nExtended the default timeout setting for Mocha tests to 10000 milliseconds. This change addresses issues with asynchronous test exceeding the previous 2000ms default timeout, ensuring more reliable test executions, particularly in environments with variable response times or for tests requiring extended execution time.\r\n\r\n* Refactor: Centralize dereferncing of validApiDocument globally\r\nThis commit centralizes the dereferencing of validApiDocument in our test suites by moving it to a global scope. The primary motivations for this change are performance optimization and resolving issues related to multiple dereferencings.\r\n\r\nKey Changes and Reasons:\r\n\r\n1. **Performance Optimization**:\r\n - As our API template grows, the number of test cases that require a dereferenced version of validApiDocument is increasing.\r\n - Previously, each test file was individually dereferencing this document, which is a resource-intensive process. By dereferencing it once globally, we reduce the computational overhead significantly.\r\n - This global approach ensures that all tests use the same dereferenced instance, improving the overall efficiency of our test execution.\r\n\r\n2. **Resolving Multiple Dereferencing Issues**:\r\n - In our prior setup, attempting to dereference an already dereferenced document in different test files led to inconsistencies and potential errors.\r\n - By having a single, globally dereferenced document, we eliminate the risk of such issues. This ensures that all tests work with a consistent and stable version of the API document.\r\n\r\n3. **Maintainability and Consistency**:\r\n - This refactor simplifies the test setup by removing redundant dereferencing logic in multiple files.\r\n - It also enhances the consistency across our test suites, making it easier for the team to write and maintain tests.\r\n\r\nBy making this change, we are aligning our testing practices with best practices for efficiency, stability, and maintainability. This update is crucial for handling the increasing complexity of our API testing as the project grows.\r\n\r\nAffected Files:\r\n- jsonapi-document-structure-resource-objects.test.js (Resolved)\r\n- jsonapi-document-structure-resource-attributes.test.js (Pending - currently in PR Approval Process)\r\n- jsonapi-document-structure-resource-identification.test.js (Currently Resolved)\r\n- testSetup.js\r\n\r\nTesting and Verification:\r\n- All test suites were run post-refactor to ensure they are functioning correctly with the global dereferenced document.\r\n- Validation was done to confirm that tests are now more efficient and free from issues related to multiple dereferencings.\r\n\r\n* Fix: Added missing ruleset comment\r\n\r\n* Resolving conflict.\r\n\r\n---------\r\n\r\nCo-authored-by: Akshay Pathak <100951743+AkshayPathakMLF@users.noreply.github.com>","shortMessageHtmlLink":"API-24 DocumentStructure.Resource.Attributes (#52)"}},{"before":"3b9da206c7c66e0eda60720363e4d94aef5200dc","after":"256c917a5799b145069e2637c87d8924436b04b3","ref":"refs/heads/main","pushedAt":"2023-12-20T22:55:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"marquje","name":"Jeff Marquez","path":"/marquje","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71781792?s=80&v=4"},"commit":{"message":"API-61 DocumentStructure.Resource.Identification (#54)\n\n* Initial Commit\r\n\r\nSetting up structure.\r\n\r\n* Refactor: Centralize dereferncing of validApiDocument globally\r\n\r\nThis commit centralizes the dereferencing of validApiDocument in our test suites by moving it to a global scope. The primary motivations for this change are performance optimization and resolving issues related to multiple dereferencings.\r\n\r\nKey Changes and Reasons:\r\n\r\n1. **Performance Optimization**:\r\n - As our API template grows, the number of test cases that require a dereferenced version of validApiDocument is increasing.\r\n - Previously, each test file was individually dereferencing this document, which is a resource-intensive process. By dereferencing it once globally, we reduce the computational overhead significantly.\r\n - This global approach ensures that all tests use the same dereferenced instance, improving the overall efficiency of our test execution.\r\n\r\n2. **Resolving Multiple Dereferencing Issues**:\r\n - In our prior setup, attempting to dereference an already dereferenced document in different test files led to inconsistencies and potential errors.\r\n - By having a single, globally dereferenced document, we eliminate the risk of such issues. This ensures that all tests work with a consistent and stable version of the API document.\r\n\r\n3. **Maintainability and Consistency**:\r\n - This refactor simplifies the test setup by removing redundant dereferencing logic in multiple files.\r\n - It also enhances the consistency across our test suites, making it easier for the team to write and maintain tests.\r\n\r\nBy making this change, we are aligning our testing practices with best practices for efficiency, stability, and maintainability. This update is crucial for handling the increasing complexity of our API testing as the project grows.\r\n\r\nAffected Files:\r\n- jsonapi-document-structure-resource-objects.test.js (Resolved)\r\n- jsonapi-document-structure-resource-attributes.test.js (Pending - currently in PR Approval Process)\r\n- jsonapi-document-structure-resource-identification.test.js (Currently Resolved)\r\n- testSetup.js\r\n\r\nTesting and Verification:\r\n- All test suites were run post-refactor to ensure they are functioning correctly with the global dereferenced document.\r\n- Validation was done to confirm that tests are now more efficient and free from issues related to multiple dereferencings.\r\n\r\n* Feat: Adding New Spectral Ruleset\r\nThis commit introduces a new set of Spectral rules specifically tailored for validating JSON:API v1.0 Resource Objects Identification within an OpenAPI Document. Key highlights include:\r\n\r\n- Creation of Spectral rules to ensure compliance with JSON:API v1.0 standards, focusing on Resource Objects Identification specifications.\r\n- Ensuring every `Resouce Object` contains the following members: 'id' and 'type'\r\n\r\nThese additions significantly improve our capability to automatically validate and ensure the consistency of API responses with the JSON:API v1.0 standard.\r\n\r\n* Enhance: refactored valid OpenAPI Template\r\nThis document serves as a standardized template for verifying positive test scenarios in ruleset development. To ensure that the document can be tested against multiple rulesets, the design and endpoints were refactored. This document is now closer to adhering to JSON:API v1.0 specifications. Covered sections include:\r\n- ContentNegotiation.ClientResponsibilities\r\n- ContentNegotiation.ServerResponsibilities\r\n- DocumentStructure\r\n- DocumentStructure.TopLevel\r\n- DocumentStructure.ResourceObjects\r\n- DocumentStructure.ResourceObjects.Attributes\r\n- DocumentStructure.ResourceObjects.Identification\r\n- DocumentStructure.Links\r\n- DocumentStructure.MetaInformation\r\n- DocumentStructure.MemberNames\r\n- FetchingData.Sorting\r\n- FetchingData.Pagination\r\n- FetchingData.Filtering\r\n- Errors.ProcessingErrors\r\n- Errors.ErrorObjects\r\n\r\n* Feat: Test Case Completion\r\nThis commit marks the completion of detailed test cases for all of the JSON:API v1.0 Document Structure Resource Objects Identification ruleset:\r\n- document-structure-resource-single-identification-id-member\r\n- document-structure-resource-single-identification-id-type\r\n- document-structure-resource-single-identification-type-member\r\n- document-structure-resource-single-identification-type-type\r\n- document-structure-resource-array-identification-id-member\r\n- document-structure-resource-array-identification-id-type\r\n- document-structure-resource-array-identification-type-member\r\n- document-structure-resource-array-identification-type-type\r\n\r\nThese updates significantly improve the robustness and relaibility of the JSON:API v1.0 specifications for Resource Objects Identification validation process.\r\n\r\n* Feat: Passing/Failing OpenAPI Documents for Spectral CLI Testing\r\n\r\n- These two files provides a way to test al lthe created rules for both positive and negative scenarios.\r\n- Created a failing-rules.yaml which generates a way to trigger all the rules to display the error message\r\n- Updated the passing-rules.yaml to adhere to the specifications of JSON:API v1.0 for identification.\r\n\r\n* Increase global timeout for Mocha tests to 10000ms\r\n\r\nExtended the default timeout setting for Mocha tests to 10000 milliseconds. This change addresses issues with asynchronous test exceeding the previous 2000ms default timeout, ensuring more reliable test executions, particularly in environments with variable response times or for tests requiring extended execution time.","shortMessageHtmlLink":"API-61 DocumentStructure.Resource.Identification (#54)"}},{"before":"5bc2ff67228ea57c316d56fdf7d15a98bd88476b","after":"3b9da206c7c66e0eda60720363e4d94aef5200dc","ref":"refs/heads/main","pushedAt":"2023-12-18T17:57:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AkshayPathakMLF","name":"Akshay Pathak","path":"/AkshayPathakMLF","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/100951743?s=80&v=4"},"commit":{"message":"Fix spelling errors in API-21 (#53)\n\nThis commit addresses several spelling mistakes found in the changes for API-21 Resource Object feature, improving clarity and readability.","shortMessageHtmlLink":"Fix spelling errors in API-21 (#53)"}},{"before":"25786e1827d3e8e3603bc86c5c4c5e27a28195a5","after":"5bc2ff67228ea57c316d56fdf7d15a98bd88476b","ref":"refs/heads/main","pushedAt":"2023-12-14T18:03:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AkshayPathakMLF","name":"Akshay Pathak","path":"/AkshayPathakMLF","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/100951743?s=80&v=4"},"commit":{"message":"API-21 DocumentStructure.ResourceObjects (#51)\n\n* Initial Commit - Setting up\r\n\r\n* Refactor: Spectral's JSON Formatter Outputs\r\n\r\n- When running your test cases with the Spectral instance, Spectral will provide an analysis to ensure to can run rule and pass the validations along with reading rulename and/or provided document. This addition will provide a better understanding as to why the test case of rule is not running properly.\r\n\r\n* Feat: Add Spectral rules for JSON:API Document Structure - Resource Objects\r\nThis commit introduces a new set of Spectral rules specifically tailored for validating JSON:API Resource Objects within OpenAPI documents. Key highlights include:\r\n\r\n- Creation of Spectral rules to ensure compliance with JSON:API standards, focusing on Resource Objects structures, object properties and proper types.\r\n- Resource Objects can be provided as a single object or an array of objects. These rule validations tailor for both scenarios and ensures it is following the JSON:API Specifications v1.0.\r\n- `id` member has an exception for when a `Resource Object` is newly created. The rules are tailored for this specific scenario, which is typically a HTPP POST, otherwise an `id` member is required.\r\n\r\nThese additions significantly improve our capability to automatically validate and ensure the consistency of API responses with the JSON:API standard.\r\n\r\n* Fix: Ensure to target only single Resource Objects for Ruleset: document-structure-resource-objects-single-structure-length\r\n\r\n* Fix: Adjusted JSONPath Expression to ensure proper target value\r\n\r\n- Removed duplicated/unused rule\r\n\r\n* Feat: Completed Test Cases for JSON:API Resource Objects\r\n\r\nThis commit marks the completion of detailed test cases for all of the JSON:API Resource Objects rulesets:\r\n- document-structure-resource-objects-type\r\n- document-structure-resource-objects-single-structure\r\n- document-structure-resource-objects-single-structure-length\r\n- document-structure-resource-objects-single-type-required\r\n- document-structure-resource-objects-single-id-required\r\n- document-structure-resource-objects-single-id-type\r\n- document-structure-resource-objects-single-type-type\r\n- document-structure-resource-objects-single-attributes-type\r\n- document-structure-resource-objects-array-structure\r\n- document-structure-resource-objects-array-structure-length\r\n- document-structure-resource-objects-array-type-required\r\n- document-structure-resource-objects-array-id-required\r\n- document-structure-resource-objects-array-id-type\r\n- document-structure-resource-objects-array-type-type\r\n- document-structure-resource-objects-array-attributes-type\r\n\r\nThese updates significantly improve the robustness and reliability of the JSON:API Resource Objects validation process.\r\n\r\n* Refactor: Remove unused duplicated ruleset.\r\n\r\n* Feat: Introducing a Comprehensive API Reference Document for Positive Rule Validation Testing.\r\n\r\nThis document serves as a standardized template for verifying positive test scenarios in ruleset development. It is designed to accurately test JSONPath Expressions and ensure rule compliance, acting as a reliable benchmark for positive outcome validations in our testing framework. Additionally, this document aligns with key sections of the JSON:API Spec v1.0, ensuring thorough adherence to industry standards. Covered sections include:\r\n\r\n- ContentNegotiation.ClientResponsibilities\r\n- ContentNegotiation.ServerResponsibilities\r\n- DocumentStructure\r\n- DocumentStructure.TopLevel\r\n- DocumentStructure.ResourceObjects\r\n- DocumentStructure.Links\r\n- DocumentStructure.MetaInformation\r\n- DocumentStructure.MemberNames\r\n- FetchingData.Sorting\r\n- FetchingData.Pagination\r\n- FetchingData.Filtering\r\n- Errors.ProcessingErrors\r\n- Errors.ErrorObjects\r\n\r\n* Feat: Passing/Failing OpenApi Documents for Spectral CLI Testing\r\n\r\n- Provided a way to test all the created rules both positive and negative scenarios.\r\n\r\nCreated a standardized template for verifying postive test scenarios, which current verified the following rulesets:\r\n- `jsonapi-errors-error-object.js`\r\n- `jsonapi-document-structure-resource-objects.js`\r\n\r\n* Fix: Removed unused comment","shortMessageHtmlLink":"API-21 DocumentStructure.ResourceObjects (#51)"}},{"before":"397af11a52509f0ff1e7fa2d44ef977ffa549da4","after":"25786e1827d3e8e3603bc86c5c4c5e27a28195a5","ref":"refs/heads/main","pushedAt":"2023-12-07T23:41:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"marquje","name":"Jeff Marquez","path":"/marquje","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71781792?s=80&v=4"},"commit":{"message":"API-59 Errors.ErrorObjects (#46)\n\nThis commit introduces a new set of Spectral rules specifically tailored for validating JSON:API error object structures within OpenAPI documents. Key highlights include:\r\n\r\n- Creation of Spectral rules to ensure compliance with JSON:API standards, focusing on error object structures such as array structure, object properties, links, source, and meta-information.\r\n- Development of a comprehensive OpenAPI test document (`validArrayStructureDocument`) that adheres to JSON:API specifications, particularly in defining error responses.\r\n- Implementation of various utility functions to enhance the testing framework, including functions for setting up Spectral, processing test results, and dynamically managing rule sets based on test requirements.\r\n- Debugging and refinement of rules and test document structure to align with JSONPath expressions and Spectral's schema validation requirements.\r\n\r\nThese additions significantly improve our capability to automatically validate and ensure the consistency of API responses with the JSON:API standard.\r\n\r\n* Pushing changes to repo to resolve out-of-date with base branch\r\n\r\n* resolving linting errors\r\n\r\n* Rule Explanation for OpenAPI TestCase Document.\r\n\r\n* Full compatibility with OpenAPI 3.1.0\r\n\r\nSome new features were added such as, Path Item Object, which allows you to define more complex structures for paths, however our current usage is adequate.\r\n\r\n* Refactor testFile name.\r\n\r\n* feat: Implement dynamic debug logging with environment variable control\r\n\r\nthis commit introduces a centralized debugging utility () that enhances the logging mechanism across multiple test files. Key changes include:\r\n\r\n- creation of with functions for different log levels (log, debug, warn, error, info), each controlled by specific environment variables (LOG_DEBUG, DEBUG_DEBUG, WARN_DEBUG, ERROR_DEBUG, INFO_DEBUG).\r\n- Refactoring test file to use the new debug utility, replacing direct calls with functions.\r\n- Documentation of the debug utility with comprehensive JSDOC comments, explaining usage and configuration.\r\n\r\nThese changes allow for finer control over log outputs and a more consistent debugging experience across the project. Debugging can now be easily toggled on or off and customized via environment variables without altering code in individual test files.\r\n\r\n* fix: Strings must use single quotes\r\n\r\n* Fix: Rebase Error\r\n\r\n- Correcting the failed rebase conflict.\r\n\r\n* Disabling linting rules:\r\n\r\n- no-invalid-this\r\n - Used for obtaining the ruleset title to determine which rule is being used for that specific TestCase.\r\n- no-console\r\n - Currently using environmental variables to enable console logs for testing\r\n\r\n* Fix: Correct JSDoc paramter type annotation\r\n\r\n- Updated the JSDoc commet to correctly annotate the `error` parameter.\r\n- Changed from `@param{Error}` to `@param{error}` to accurately represent the parameter type.\r\n\r\n* Refactor: Severity Change\r\n\r\n- Spectral changed how the severity is obtained.\r\n- Changed from type to string\r\n\r\n* Refactor: OpenAPI Format Validated\r\n\r\n- Changed the format to match OpenAPI requirements\r\n\r\n* Feat: Invalid OpenAPI Document for Error Objects\r\n\r\n- This file will contain all invalid data for negative test cases\r\n\r\n* Feat: Debug Utility\r\n\r\n- A module for handling debug logs with different levels (log, debug, warn, error, info).\r\n- Each level can be independently enabled via specific environment variables\r\n\r\n* Refactor: Change structure of helper functions\r\n\r\n- To follow pattern of other test cases, restructure how the helper utils are being utilized.\r\n- Implemented use of Debug Utility\r\n\r\n* Feat: Created utility for setting up Spectral\r\n\r\n* Feat: Custom Function - validatePropertyType\r\n\r\n- This is a solution to resolve the '$ref' dereferencing. Spectrals Pre-Define functions do not obtain the JSONPath values for '$ref' properties.\r\n- This cusotm function will check if the provided options property is provided in the JSONPath; if it is true the property type will then be validated against the expected type providing in the functionOptions.\r\n\r\n* Refactor: Following other test case formats\r\n\r\n- will provide will cases for each rule, same as other test cases:\r\n\r\n* Validate JSONPath\r\n* Positive Scenario\r\n* Negative Scenario\r\n\r\nNOTE: Currently the 'Validate JSONPath' will need additional research since `JSONPath` does not inherently resolve '$ref' references found in JSON documents or OpenAPI specifications.\r\n\r\nPOTENTIAL SOLUTION:\r\n* Preprcess the Document\r\n - Before applying JSONPath queries, preprocess the JSON document to resolve and replace all `$ref` references with the actual content they point to. This `dereferencing1 process can be accomplised using a library called 'json-schema-ref-parser'. This would allow us to use `jsonpath-plus`.\r\n* Custom Handling\r\n - Can write custom logic to handle `$ref` references. This does require more work and would need to know the specific JSON document structure.\r\n\r\n* Comprehensive Overhaul of Testing Infrastructure and Refactoring\r\n\r\nThis commit represents a thorough update and enhancement of the unit testing setup and various utility functions in the spectral-jsonapi-ruleset project. Key changes over the past two days include:\r\n\r\n- Expanded and refined unit testing framework, integrating `sinon` for stubs and spies, enhancing test isolation and precision.\r\n- Refactored existing unit tests for consistency, readability, and improved coverage.\r\n- Updated and standardized utility functions, including `disableAllRulesets`, `displayRulesets`, `enableSpecificRuleset`, `formattedErrorMessage`, `getEnabledRules`, `handleSpectralResults`, `processErrors`, and `setupSpectral`. Each of these received improvements for better functionality and compliance with project standards.\r\n- Implemented an optional parameter in `setupSpectralBeforeEach` utility to allow custom Spectral setup, enhancing testing flexibility.\r\n- Resolved issues with `AggregateError` handling and mock console outputs, leading to cleaner and more reliable test execution.\r\n- Modified `package.json` to include revised testing scripts, integrating the updated test suite into the project's workflow.\r\n- Enhanced JSDoc comments for improved clarity and documentation quality across multiple utility functions.\r\n\r\nThese changes collectively enhance the robustness, maintainability, and clarity of the project's testing infrastructure and associated utility functions.\r\n\r\n---\r\n\r\nNote: This commit captures extensive collaborative work focused on elevating the project's code quality and testing standards, spanning over multiple days.\r\n\r\n* Feat: Enhance `$ref` Resolution in OpenAPI Document Parsing\r\n\r\nThis commit introduces significant improvements in the way `$ref` references are resolved within OpenAPI documents. Key changes include:\r\n\r\n- `mockApiDocument.js`: Updated mock data to more accurately represent real-world OpenAPI document structures, ensuring it aligns with testing and resolution logic.\r\n- `refResolver.js`: Refined the logic to recursively resolve `$ref` references in both objects and arrays. Added circular reference detection to prevent infinite loops during resolution. Enhanced function documentation with updated JSDoc comments for better clarity and maintainability.\r\n- `refResolver.test.js`: Revised unit tests to validate the correct resolution of `$ref` references, including tests for nested structures, arrays, and root-level references. Adjusted test cases to align with the updated reference resolution logic and mock data.\r\n\r\nThese changes aim to provide more robust and accurate parsing of OpenAPI documents, ensuring `$ref` references are resolved correctly in various scenarios, including complex nested structures and arrays.\r\n\r\n* Style: Provide clean display for passing test cases in console\r\n\r\n* Style: Implemented visual displays of the type of message being displayed to console.\r\n\r\n* Refactor: correct usage of what to be displayed to adhere with the environment variables enablement.\r\n\r\n* Refactor: Commented out certain debugging code\r\n\r\n- Enabling these debugging is needed on a cases by cases basis and will leave for future usage with other test cases\r\n\r\n* Refactor: Error Object Rulesets\r\n\r\nThis commit introduces new rules for JSON:API error object validation. The ruleset includes a comprehensive set of rules designed to enforce the JSON:API specifications for error objects, ensuring adherence to standard practices and enhancing the quality of API responses. Each rule in the ruleset is accompanied by detailed JSDOC comments that explain its purpose, functionality, and usage, making the ruleset easy to understand and maintain. This addition is a significant step towards robust API error handling and standardization.\r\n\r\n* Fix: debugUtils being displayed in github jobs\r\n\r\n* Feat: Complete initial set of test cases and refine JSONPath expressions for JSON:API rules\r\n\r\nThis commit marks the completion of detailed test cases for several JSON:API error object rulesets, including:\r\n- errors-error-objects-array-structure\r\n- errors-error-objects-object-structure\r\n- errors-error-objects-object-structure-length\r\n- errors-error-objects-items-id-type\r\n- errors-error-objects-items-links-type\r\n- errors-error-objects-items-links\r\n- errors-error-objects-items-links-structure-length\r\n- errors-error-objects-items-links-about-type\r\n- errors-error-objects-items-links-about-format\r\n- errors-error-objects-items-links-type-type\r\n- errors-error-objects-items-links-type-format\r\n\r\nSignificant changes have been made to the JSONPath expressions and functions within these rulesets to enhance accuracy and efficiency. Notably, an issue with the 'errors-error-objects-array-structure' rule has been resolved by switching from a custom function to the 'enumeration' predefined function, simplifying the validation process and adhering to the prerequisite of using only predefined functions.\r\n\r\nRemaining tasks include completing test cases for the following rulesets:\r\n- errors-error-objects-items-status-type\r\n- errors-error-objects-items-code-type\r\n- errors-error-objects-items-title-type\r\n- errors-error-objects-items-detail-type\r\n- errors-error-objects-items-source-type\r\n- errors-error-objects-items-source\r\n- errors-error-objects-items-source-pointer-type\r\n- errors-error-objects-items-source-parameter-type\r\n- errors-error-objects-items-source-header-type\r\n- errors-error-objects-items-source-structure-length\r\n- errors-error-objects-items-items-type\r\n\r\nThese updates significantly improve the robustness and reliability of the JSON:API error object validation process.\r\n\r\n* Completion of remaining JSON:API Errors.ErrorObjects Ruels and Test Cases\r\n\r\n- Fully implemented and documented Spectral rules for JSON:API Errors.ErrorObjects as per JSON:API Specifications.\r\n- Each rule checks specific aspects of the error objects, ensuring adherence to standards like array structure, member types, and URI formats.\r\n- Added comprehensive test cases for all rules covering both positive and negative scenarios. This includes checks for array structures, object member validation, type enforcement, and specific member values.\r\n- Enhanced documentation with detail jsdocs for key areas including helper functions, complex rule logic, JSONPath expressions, and individual test cases. This aims to improve code readability and maintainability.\r\n- Included specific test documents for both valid and invalid API structures to validate each rule thoroughly.\r\n- Conducted rigorous testing to ensure all rules and test cases function as expected, with a focus on reliability and accuracy in error object validation.\r\n\r\nThis commit represents a complete and robust solution for validation JSON:API error objects, ensuring compliance with the JSON:API specification and enhacning the overall quality of API error handling.\r\n\r\n* Refactor: Removal of custom function\r\n\r\n- No longer needed due to resolving issue the function was created for.\r\n\r\n* Feat: Provided a way to test a valid/invalid OpenApi Document against the rules created using Spectrals CLI command.\r\n\r\n* Refactor: Series of requested changes\r\n\r\n- Removed unnecessary Spectral rulesets.\r\n- Refactored OpenAPI Documents for better clarity and compliance with JSON:API v1.0\r\n- Eliminated redundant test cases\r\n- Refactored rulesets to comply with JSON:API v1.0\r\n\r\n* fix: eslint rules\r\n\r\n* Refactor: Updated YAML OpenAPI Document for Spectrals CLI Testing","shortMessageHtmlLink":"API-59 Errors.ErrorObjects (#46)"}},{"before":"95f782a106664d6679c61ed867333bd4cc8593b0","after":null,"ref":"refs/heads/feature/marquje/rule-integration","pushedAt":"2023-11-16T23:48:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jmlue42","name":"Jeff Marquez","path":"/jmlue42","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/769395?s=80&v=4"}},{"before":"5cb56a76be057b492e098cc5f5b5d43f86db116c","after":"397af11a52509f0ff1e7fa2d44ef977ffa549da4","ref":"refs/heads/main","pushedAt":"2023-11-16T23:48:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jmlue42","name":"Jeff Marquez","path":"/jmlue42","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/769395?s=80&v=4"},"commit":{"message":"Feature/marquje/rule integration (#49)\n\n* Switching severity back to string values per new documentation, removing dependency on @stoplight/types\r\n\r\n* removed import of serverity from @stoplight/types","shortMessageHtmlLink":"Feature/marquje/rule integration (#49)"}},{"before":"9eff66d58da1d842f8fb80d89962e52dff5f9b28","after":"95f782a106664d6679c61ed867333bd4cc8593b0","ref":"refs/heads/feature/marquje/rule-integration","pushedAt":"2023-11-16T23:38:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marquje","name":"Jeff Marquez","path":"/marquje","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71781792?s=80&v=4"},"commit":{"message":"removed import of serverity from @stoplight/types","shortMessageHtmlLink":"removed import of serverity from @stoplight/types"}},{"before":"5cb56a76be057b492e098cc5f5b5d43f86db116c","after":"9eff66d58da1d842f8fb80d89962e52dff5f9b28","ref":"refs/heads/feature/marquje/rule-integration","pushedAt":"2023-11-16T23:08:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marquje","name":"Jeff Marquez","path":"/marquje","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71781792?s=80&v=4"},"commit":{"message":"Switching severity back to string values per new documentation, removing dependency on @stoplight/types","shortMessageHtmlLink":"Switching severity back to string values per new documentation, remov…"}},{"before":null,"after":"5cb56a76be057b492e098cc5f5b5d43f86db116c","ref":"refs/heads/feature/marquje/rule-integration","pushedAt":"2023-11-16T22:59:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marquje","name":"Jeff Marquez","path":"/marquje","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71781792?s=80&v=4"},"commit":{"message":"Feature/marquje/troubleshoot rules (#48)\n\n* - Updating linting to lint .js files.\r\n- fixing funciton name (incorrectly used capital letter 'Match')\r\n- updating files to match linting rules\r\n\r\n* - removed old errors ruleset\r\n- removed member-name rules\r\n\tThese were incorrect, causing spectral to throw errors, and did not have tests written for them\r\n- switched query parameter rules and tests to \"old\"\r\n\t- Keeping these for reference, but found notes stating member/param regex patterns weren't going to be covered\r\n\t- Keeping tests for reference for now as well. Test were not originally written correctly either\r\n\t\t- tests for written across rules holistically rather than individually, thus it is not clear which rule in a set is being triggered.\r\n\t\t- tests for the json path were not written\r\n\t- I made the original mistake in accepting the original PR for these rules.\r\n- fixed typos in the example oas file","shortMessageHtmlLink":"Feature/marquje/troubleshoot rules (#48)"}},{"before":"f79455ed329acf31e93a5d61125d2df4f3e25428","after":null,"ref":"refs/heads/feature/marquje/troubleshoot-rules","pushedAt":"2023-11-16T22:48:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jmlue42","name":"Jeff Marquez","path":"/jmlue42","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/769395?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEZq6GDgA","startCursor":null,"endCursor":null}},"title":"Activity · jmlue42/spectral-jsonapi-ruleset"}