Orange-OpenSource / Orange-OpenSource/Orange-Boosted-Bootstrap

Add TypeScript Types

Open
#2,076 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

🔍 study 🗳️ feature
Dominant language
CSS
Stars
219
Forks
61
Avg merge
2d 15h
Merged PRs (30d)
12

Description

Prerequisites
Proposal

As described in the title, the idea would be to add types to the project. One of the main shortcomings of the basic Bootstrap project is that it doesn't support types, so we have to use @types/bootstrap, the idea would be not to go through DefinitlyTyped (@types/boosted) to use types with Boosted, because that would mean that it wouldn't be maintained by the Boosted core team, so it would have to be implemented directly in the project for TypeScript users.

Motivation and context

Adding TypeScript types to the Boosted project is to provide better developer tooling and improve the overall development experience for TypeScript users.

TypeScript is a statically-typed superset of JavaScript that provides compile-time type checking, enabling developers to catch potential errors and bugs early in the development process. By adding TypeScript types to the Boosted project, developers will benefit from enhanced autocompletion, type inference, and type safety while working with Boosted components.

Currently, TypeScript users have to rely on external type definitions from the DefinitelyTyped repository, such as @types/bootstrap they have to copy and redeclare them just for Boosted. However, this approach has some drawbacks. Firstly, the DefinitelyTyped repository is maintained by a separate community and may not always align perfectly with the core Bootstrap or Boosted project. Secondly, using external type definitions adds an additional dependency and introduces a potential maintenance burden.

By integrating TypeScript types directly into the Boosted project, TypeScript users will have access to up-to-date and accurate type definitions that are maintained by the Boosted core team. This ensures better compatibility between the types and the Boosted components, reducing the chances of type-related issues and providing a more seamless development experience.

Overall, adding TypeScript types to the Boosted project will make it easier for TypeScript users to work with Boosted components, increase code quality through static type checking, and align the type definitions more closely with the actual implementation of the library.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with .github/CONTRIBUTING.md, then review the existing @types/bootstrap definitions and the DefinitelyTyped Boosted discussion referenced in the issue. Define the scope and integration approach for types maintained in the Boosted repository, including which components and APIs are covered. Done means TypeScript users can consume accurate, core-maintained definitions without relying on @types/boosted.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.