DoneJS Contributors Meeting – 2017-04-14

#1

Please add topics for discussion (and your status if you’re a contributor).

Epics:

#2

Would like to discuss: https://github.com/canjs/canjs/issues/3151

Christopher and I have some ideas on how to tackle this across all CanJS/DoneJS/StealJS/etc repos.

For this meeting, though, we’d like to focus on discussing configuration. We need two configurations:

  • Config for OS projects (used by contributors). More important.
  • Config implemented by DoneJS generator (used by consumers). Less important.

Some quick information on what we have discovered so far:

  • Most lint rules are based on the jQuery config
  • Most lint violations can be auto-fixed
  • We’ll be creating a repository to contain the configs (much like the Airbnb repo for lint rules)

Would appreciate any feedback on the issue!

1 Like
#3

I think the biggest challenge will be getting the popular repos into a state where we feel comfortable with sweeping changes to not only whitespace but also the code, because that will create conflicts with most branches and open PRs.

#4

Since linting is up for discussion, I’d also like to throw in Fixpack. It’s not for code, but does do a lot of good for package.json’s. I use it in all my own projects. It keeps everything consistently named and ordered (which also keeps the diff change size to a minimum).

#5

I used sort-package-json (installed into global npm) and ran into a issue where the JSON in package.json needed to be in a specific (non-alphabetical) order for bit-docs plugins to work properly.

That issue is documented here: https://github.com/bit-docs/bit-docs-html-highlight-line/issues/2#issuecomment-292533141

Hopefully that limitation can be resolved within bit-docs, because it is cumbersome to require a specific order, but just something to keep in mind for now (most of the project websites use both of those plugins, I think).

#6

Last week

  • Issues from DoneJS 1.0 testers.
  • donejs-next site updates.
  • created the steal-tools 1.3.x epic.

Next week

  • Speccing out the minimal production loader here.
  • Helping with DoneJS 1.0 article.
  • Maybe getting back to donejs’ streaming capabilities.
#7

This week

  • fixing relative url( ... )s in less files and Server Side Rendering
  • fixing memory leak in can-connect instanceStore and live attributes

Next week

  • DoneJS 1.0 release article
  • preparing for Preparing for the Future of JavaScript meetup talk
#8

Topics:

This week:

Still have hard/unsolved bit-docs issues re: sidebar nav menu and @signature breaking page render.

Next week:

  • bit-docs
#9

Topics

  • What’s next for Steal!
#10

Last week:

Next week:

  • [Today] Publish an article about can-ajax
  • Write an article for SitePoint
  • FInish the DoneJS 1 release article
  • Maybe publish a migration guide blog post too
  • More conference & meetup organizing
#11

This Week:

Next Week:

DoneJS 1.0

  • Get faster can-reflect working everywhere.
#12

Topic: Testee Code Coverage with ES6

#13

Related to discussion linting; tabs in markdown: https://github.com/donejs/developer-relations/issues/25

#14

Attendees: @chasen @chrisbitme @justinbmeyer @leoj3n @Macrofig @matthewp @Nils @obaid @phillipskevin Christopher Baker

Discussed topics:

Commit to lint rules, implement and fix any linting issues and JavaScript Linters:

  • Goal: make it easier to contribute by having a linter in all our projects
  • We have included JSHint in our new projects because that’s what ships with DoneJS
  • Switching to ESLint because of its plugin architecture; not switching to Prettier because it doesn’t support more advanced configuration
  • Gameplan:
    • Juan & Christopher will work on creating donejs-eslint (similar to donejs-jshint)
    • We’ll use jQuery’s conventions for now because that’s what we have in CanJS’s contribution guide; if it’s not strict enough, we can deal with that later
    • New projects will start off with ESLint
    • Juan and Christopher can help get code merged in before the rules are applied to existing projects

Embed generator information in the generated website:

  • Nice to have, but not a priority right now

What’s next for StealJS:

  • Matthew’s roadmap presentation
  • Overall summary:
    • Through steal and steal-tools, StealJS supports core features to DoneJS’s maintainability and performance mission
    • Crossroads: features that make development easier can hurt production performance
    • The minimal production loader RFC is the start of development & production diverging
  • How can we manage the complexity of having different feature sets across development & production?
    • As they diverge, more potential bugs
    • Maybe there’s a way that the minimal production loader can share code with or become SystemJS within StealJS

Testee Code Coverage with ES6:

:tada::dancer::beers: