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
35 tasks done
mattpap opened this issue Jun 16, 2017 · 4 comments
Closed
35 tasks done

Rewrite bokehjs in TypeScript #6481

mattpap opened this issue Jun 16, 2017 · 4 comments

Comments

@mattpap
Copy link
Contributor

@mattpap 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
Copy link
Contributor Author

@mattpap 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.

Loading

@bryevdv
Copy link
Member

@bryevdv 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.

Loading

@jakirkham
Copy link
Contributor

@jakirkham jakirkham commented Dec 11, 2017

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

Loading

@mattpap
Copy link
Contributor Author

@mattpap 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).

Loading

@bryevdv bryevdv removed this from the short-term milestone Mar 5, 2018
@bryevdv bryevdv added this to the 0.12.x milestone Mar 5, 2018
@bryevdv bryevdv removed this from the 0.12.x milestone Mar 17, 2018
@bryevdv bryevdv added this to the 0.12.16 milestone Mar 17, 2018
@mattpap mattpap moved this from In progress to Implemented in Focus: TypeScript and bokehjs APIs Mar 22, 2018
@mattpap mattpap removed this from the 0.12.16 milestone Mar 22, 2018
@mattpap mattpap added this to the 0.12.15 milestone Mar 22, 2018
@mattpap mattpap moved this from Implemented to Done in Focus: TypeScript and bokehjs APIs Mar 22, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Linked pull requests

Successfully merging a pull request may close this issue.

3 participants