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

ES2015 Refactor (Release Checklist) #572

Open
19 of 23 tasks
bpatram opened this issue Jun 28, 2016 · 1 comment
Open
19 of 23 tasks

ES2015 Refactor (Release Checklist) #572

bpatram opened this issue Jun 28, 2016 · 1 comment

Comments

@bpatram
Copy link
Collaborator

bpatram commented Jun 28, 2016

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.

@bpatram bpatram added this to the v0.11.0 milestone Jun 28, 2016
bpatram added a commit that referenced this issue Jul 26, 2016
- semaphore prototype
- blocking queue
- event queue
- configuration settings

create new base object used to extend off of. relation and store uses this now.
bpatram added a commit that referenced this issue Jul 26, 2016
… builds minified version too now.

tweaked linter rules for spacing and console output.
bpatram added a commit that referenced this issue Jul 26, 2016
moved collection into its own module.
refactor some pieces of code to fit linter rules.
bpatram added a commit that referenced this issue Jul 26, 2016
…relation, hasone, and hasmany.

moved store and relation into their own module
bpatram added a commit that referenced this issue Oct 23, 2016
…on now.

updated rollup and babel (and presets)
bpatram added a commit that referenced this issue Oct 23, 2016
finished separation of modules into their own files for the most part
bpatram added a commit that referenced this issue Oct 23, 2016
@bpatram
Copy link
Collaborator Author

bpatram commented Oct 24, 2016

What I ended up adding is a relation type store, which maps the relation types to their names. 'HasMany' => Relation.HasMany and the same idea for HasOne. This would also make it easier to override and register new relation types (Many to many?) in the future.

bpatram added a commit that referenced this issue Apr 2, 2017
updated build tools.
updated qunit to latest 2.x version.
added code coverage reporting.
unit testing uses source files instead of distributable.
refactor unit tests to be more modular.
bpatram added a commit that referenced this issue Apr 2, 2017
updated readme to include test badge and organized info
@bpatram bpatram changed the title ES6 Refactor (v0.11.0 Release Checklist) ES2015 Refactor (v0.11.0 Release Checklist) Apr 2, 2017
@bpatram bpatram modified the milestones: v0.11.0, v0.12.0 Apr 4, 2017
bpatram pushed a commit that referenced this issue Nov 26, 2017
@bpatram bpatram changed the title ES2015 Refactor (v0.11.0 Release Checklist) ES2015 Refactor (Release Checklist) Mar 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant