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

refactor(build): Build and test refactor #297

Closed
wants to merge 1 commit into from
Closed

refactor(build): Build and test refactor #297

wants to merge 1 commit into from

Conversation

circlingthesun
Copy link
Contributor

This PR upgrades the build process to use gulp instead of grunt. It allows future changes to make use the larger and more active gulp plugin ecosystem (relative to grunt). In addition to this I've upgraded the tests to run on Jasmine 2 and not use jQuery. Using jQuery in tests makes it hard to spot problems that only occur when one isn't using jQuery. I've also removed bower which seems to be falling out of favour and replaced it with JSPM. This allows one to use libraries on NPM, github, and elsewhere (with plugins).

Other changes include:

  • Removal of the mm.foundation.tpls module. Templates are now included with the module that uses them. Templateless builds are still possible.
  • Templates are now located in the same directory as the module code. This is more inline with various style guides and angular's move towards components
  • The default gulp task starts karma in the background and runs tests as code changes. The demo page is also opened up and will update with changes
  • Unused ng-doc files were removed

Upgrade to Jasmine 2
Remove JQuery test dependency
Replace grunt with gulp
Replace bower with jspm
Fix subpixel test issues
Remove the `mm.foundation.tpls` module and include templates with their associated modules
Move templates to the same directory as module code
Fix interactive unit testing
Open and automatically reload the docs page on code changes
Remove unused ngdoc files
@jbrowning
Copy link
Member

Hey @circlingthesun, thanks for sending this in.

Overall, this looks great and I think this was a good first step to eventually fixing #280. I like including the templates in the module directories and the gulp build process. Not sure yet about JSPM at this point but I'll look into it.

Have you been able to make progress with the remaining components?

@circlingthesun
Copy link
Contributor Author

Hey @jbrowning, in this PR JSPM is only used during testing. It doesn't affect anything else. I thought about using SystemJS to do the build, but I havn't really investigated further. I'm keeping the build as it is atm.

As for #280, I've ported most of the components. The topbar js has been canned in f6 so I implemented the dropdown menu that can be used with the topbar css in f6 instead. Joyride/Tour is not in f6 but it looks like they plan to add it as a plugin later. Otherwise typeahead, interchange, and rating has not yet been ported. I might also write a module for abide and switch.

There are still a bunch of tests that need to be ported. Specifically for modal. I fixed a bunch of animation bugs in the original component that necessitate that tests be asynchronous. I've not had time to look into them.

Have a look at http://circlingthesun.github.io/angular-foundation-6/ to get a feel of how far things are along.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants