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

1360 gulp #1868

Open
wants to merge 15 commits into
base: master
Choose a base branch
from
Open

1360 gulp #1868

wants to merge 15 commits into from

Conversation

brianmhunt
Copy link
Member

This is a rewrite of the 139 commits to the #1360 branch. The result of applying that branch and applying this one to master shall be identical, but this branch has a lot fewer commits since #1360 incurred a lot of overhead as it was updated regularly to maintain parity with every change to master over the last year and a half.

The explanations here should hopefully be clearer and more concise than #1360. I broke down this PR into changes on a file-by-file basis (with groups of files under a heading for change), as that seemed for most files (except config.yaml) to correspond well with the intention and heading of the patch.

This branch closes #1360 and any successive changes should be applied to this as it is the cleaner branch.

@mbest after reading through this are there any lingering questions and concerns? @SteveSanderson @rniemeyer ?

Delete the grunt file and add a gulpfile that delegates to the files that will be added in the successive patches.
- Update `.gitignore` for our temporary and distribution directories
- have npm ignore the build/output directories (since we now use dist/)
- add the `config.yaml` that contains all our relevant configuration parameters for building, testing, etc. i.e.
  * replace the build fragments with properties of `config.yaml`
  * move the source files for building into the `config.sources` property
- http://editorconfig.org/
- eslint config
- `gulp lint:js` task
- `gulp lint:space` task
- `gulp lint` task that runs both of the above, and a `watch:lint` for rechecking on file changes
- Uses `karma` for test runner
- Eliminates the need for the `runner.html`, and `runner.*.js` and `knockout-raw.js` since Karma creates these on demand
- `loadDependencies.js` becomes the trivial injection of a script into the Karma html builder (at gulp/test.js:20-23), so we eliminate that file too
- Modify crossWindowBehaviors to locate the file at the locations exposed by Karma for static files (i.e. `/base/...`)
- Add `travis.yml` file for automated testing across a spectrum of browsers on push to Github
- `spec/helpers/setup.js` replaces the jasmine extensions and setup, and also updates the settings to work with the latest version of jasmine 1.X series (1.3, as patched by the `karma-jasmine` package, which incidentally has the handy `iit` and `ddescribe` greppers)
- Remove unused jasmine files
- add static references for other libraries potentially used in the test process
- the `scripts` task `test` now defers to gulp
- add all the dependent packages
- remove testling settings
# Conflicts:
#	package.json
#	spec/lib/loadDependencies.js
This brings our testing up to parity with `master`.

Note that PhantomJS 1.9.8 requires jQuery 3.0-alpha compat version (or else this test fails: "DOM node disposal If jQuery is referenced, should clear jQuery data when a node is cleaned FAILED").

One can test with jQuery3 and jQuery3-compat with `--jquery3` and `--jquery3-compat` option for the `gulp test:phantomjs --once` command.
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.

None yet

1 participant