Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite bokehjs in TypeScript #6481

Closed
mattpap opened this Issue Jun 16, 2017 · 4 comments

Comments

@mattpap
Copy link
Contributor

mattpap commented Jun 16, 2017

This is a meta issue for moving bokehjs from coffeescript to typescript.

Module status:

  • api
  • core
    • layout
    • util
  • models
    • annotations
    • axes
    • callbacks
    • canvas
    • expressions
    • filters
    • formatters
    • glyphs
      • webgl
    • graphs
    • grids
    • layouts
    • mappers
    • markers
    • plots
    • ranges
    • renderers
    • scales
    • sources
    • tickers
    • tiles
    • tools
      • toolbars
    • transforms
    • widgets
      • tables
  • client
  • protocol
  • document
  • embed

@mattpap mattpap added this to the 0.12.8 milestone Jun 16, 2017

@mattpap mattpap self-assigned this Jun 16, 2017

@mattpap

This comment has been minimized.

Copy link
Contributor Author

mattpap commented Jun 16, 2017

btw. If anyone else would like to join in, then make sure to commit all changes in two stages. First commit rename from path/file.coffee to path/file.ts and then commit changes necessary to make that file compile. This helps git to maintain history of renamed files.

@bryevdv

This comment has been minimized.

Copy link
Member

bryevdv commented Jul 29, 2017

@mattpap just FYI there are some outside folks potentially interested in helping parallelize this effort after the low level core classes are done, so just request to keep this issue updated with progress as things go.

@jakirkham

This comment has been minimized.

Copy link
Contributor

jakirkham commented Dec 11, 2017

Asking this because I'm curious, what is the motivation for switching from CoffeeScript to TypeScript?

@mattpap

This comment has been minimized.

Copy link
Contributor Author

mattpap commented Dec 11, 2017

what is the motivation for switching from CoffeeScript to TypeScript?

The main reason is static typing of bokehjs to reduce maintenance burden and straighten the APIs. I'm not even half through the rewrite, and I already fixed a few dozen of bugs and API inconsistencies. Another reason is that CoffeeScript is a bad language. It's nice on the surface and often eye pleasing, but its certain features are straight from a nightmare, e.g. scoping rules, grammar, implicit returns (to name a few). A nice example of this is issue #6588. TypeScript isn't perfect either, but we don't have much choice, and still this transition is a big improvement of the current state of the art. Additionally, at the time of making this decision, CoffeeScript was essentially a dead language. That changed recently with CoffeeScript 2, which isn't a big improvement, but at least allowed us to speed up the transition. There are other smaller yet important reasons (e.g. tooling).

@bryevdv bryevdv modified the milestones: short-term, 0.12.x Mar 5, 2018

@bryevdv bryevdv modified the milestones: 0.12.x, 0.12.16 Mar 17, 2018

@mattpap mattpap moved this from In progress to Implemented in Focus: TypeScript and bokehjs APIs Mar 22, 2018

@mattpap mattpap modified the milestones: 0.12.16, 0.12.15 Mar 22, 2018

@mattpap mattpap moved this from Implemented to Done in Focus: TypeScript and bokehjs APIs Mar 22, 2018

@mattpap mattpap referenced this issue May 8, 2018

Closed

Rewrite bokehjs' tests in TypeScript #7864

5 of 5 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.