Skip to content

ES2015 Refactor (Release Checklist) #572

@bpatram

Description

@bpatram

I've started work on refactoring some of bbr to use Rollup + Babel with a more modular design. Overall this should help everyone out to make it more extensible and easier to maintain in the long run. All work will be done on the next branch, if you are submitting a pull request make sure to branch off next until the release is completed.

  • Export in separate namespace Update exports for es6 #566
  • Create rollup configuration
  • Create prepublish npm script task to run rollup
  • Move into separate modules:
    • Relation
      • Decouple Relation from HasOne and HasMany (create lookup store for relation types)
    • HasOne
    • HasMany
    • Collection
    • Model
    • Store
    • Semaphore
  • Create base object extensible object
    • Refactor Relation to use base object
    • Refactor Store to use base object
  • Refactor test setup to use distributable
  • Ensure all unit tests pass
  • Update documentation Update documentation for ES2015/CommonJS importing #567
  • Create upgrade guide
  • Update contribution guidelines
  • Create PR and Issue templates for github
  • Create shimmed distributable to export how v0.10.0 does to ease transition
  • Update TravisCI tests to test against multiple Backbone versions

Since This library is so tightly coupled in places there will be more extensive refactoring required (for example, the base Relation 'class' is dependent on HasOne and HasMany while both HasOne and HasMany extend and depend on Relation).

Due to the nature of this large of a refactor I'm unsure how collaboration will work out with PRs and merge conflicts. It will take extra coordination.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions