bcgov / bcgov/entity

Implementing strict typing

Open
#2,011 5 comments 0 reactions 5 assignees Assigned to @thorwolpert View on GitHub
ENTITY - DO NOT USE Epic
Dominant language
JavaScript
Stars
23
Forks
62
Avg merge
24m
Merged PRs (30d)
1

Description

## Description:
Some of our projects do not enforce strict typing rules, which decreases compatibility between projects and increases the chance of some code errors that could otherwise be caught early by development tools (IDE plugins + lint).

There was some discussion in the #registries-auth Rocket Chat channel about this.

We need to figure out:
- what the current problems are
- what the scope/size of the current problems is
- where we want to end up (i.e., partial strict typing enforcement?) - compare value vs cost
- what steps we need to perform to get there
- when this needs to be done, and by whom, and any dependencies/interactions between projects

Finally, we need approval from the POs before proceeding with any changes.

**References**
https://github.com/bcgov/sbc-common-components/pull/86
https://github.com/Microsoft/TypeScript-Handbook/blob/master/pages/declaration%20files/Introduction.md
https://github.com/DefinitelyTyped/DefinitelyTyped

**Dependencies**
- Do both FE and BE codebases need this?
- What level of strictness do we want to enforce?

**Acceptance Criteria**
- [ ] Some level of strict typing is enforced in all projects.
- [ ] Linting and building proceed without warnings or errors.

**Validation Rules**
TBD

Ready for Sprint (DoR)
- [ ] Do we have a prioritized Sprint backlog?
- [ ] Defects, user stories and other work the team has committed to are contained in the sprint backlog?
- [ ] Any hidden work?
- [ ] All team members availability & capacity is known for the sprint?
- [ ] All users stories meet the definition of Ready?

Ready to Build, Story level (DoR):
- [ ] Have Stakeholders approved this story?
- [ ] Does User story have full flow of business rules, happy and alternate paths etc. ?
- [ ] Are the dependies known/understood?
- [ ] Dev team accepts user experience artifacts?
- [ ] Are the validation rules defined? (UI, Data, Role-Action)
- [ ] Is a formal UAT required for this user story?
- [ ] Are the acceptance criteria well defined in this ticket (Story level) that QA can confirm or deny ?
- [ ] Does user story need to reference BA checklist? ( are functional/Non functional descriptions captured ?)
- [ ] Is the person who accepts this user story as complete identified? (PO)
- [ ] Can this User story be sized by the Dev. team ?
- [ ] Can this User story be demoed to show value?
- [ ] Is this user story small enough to be completed in a sprint?

Acceptance / DoD:
- [ ] PR to remove feature flags created
- [ ] Check Requirements against completed stories
- [ ] Completed stories verified in Dev/Test/Prod
- [ ] Confirm Test cases built and succeeding
- [ ] Confirm successful End-End runs
- [ ] No regression
- [ ] All Linters passed
- [ ] Test coverage and Test ID acceptable by Product owner
- [ ] Ticket merged to master or story branch
- [ ] Add / maintain selectors for QA purposes
- [ ] Add PR numbers - If available
- [ ] All tests passed (Jest, Pytest, Postman)
- [ ] Developer to list Config changes/ Update documents and designs
- [ ] Design / Solution accepted by Product Owner
- [ ] Acceptance criteria has been defined (happy path, known sad paths)
- [ ] Test coverage acceptable
- [ ] Peer Reviewed
- [ ] Accessibility reviewed and acceptable [checklist](https://github.com/bcgov/entity/docs/coding-standards/accessibility.md)
- [ ] UX Approved
- [ ] PR Accepted
- [ ] Production burn in completed

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.