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

Semver and peerdependencies #5

Closed
2 of 27 tasks
dignifiedquire opened this issue May 26, 2015 · 4 comments
Closed
2 of 27 tasks

Semver and peerdependencies #5

dignifiedquire opened this issue May 26, 2015 · 4 comments

Comments

@dignifiedquire
Copy link
Member

After I started using proper semver versions for the canary releases currently integration tests are broken for the canary branch :(
The issue is that >= 0.12.0 does not include a version like 0.13.0-rc.0 as it only uses stable versions. Any ideas or thoughts on how to best fix this?

cc @karma-runner/contributors

Update

Removing all peerDependencies as describe below:

  • karma-jasmine 2 (PR exists)
  • karma-jasmine
  • karma-mocha (PR exists)
  • karma-qunit
  • karma-junit-reporter
  • karma-coverage
  • karma-requirejs
  • karma-dojo
  • karma-live-preprocessor
  • karma-html2js-preprocessor
  • karma-ng-html2js-preprocessor
  • karma-coffee-preprocessor
  • karma-googmodule-preprocessor
  • karma-phantomjs-launcher (PR exists)
  • karma-chrome-launcher
  • karma-ie-launcher
  • karma-safari-launcher
  • karma-firefox-launcher
  • karma-sauce-launcher
  • karma-browserstack-launcher
  • karma-webdriver-launcher
  • karma-opera-launcher
  • karma-slimer-launcher
  • karma-opera-launcher
  • karma-script-launcher

External

  • karma-webpack (PR exists)
  • karma-babel
@dignifiedquire
Copy link
Member Author

Adding this to all plugins should resolve the issue for the new versions:

"peerDependencies": {
  "karma": ">=0.9.0 || >=0.13.0-rc.0"
}

Edit: Not working as the above does not match 0.14.0-rc.0

@maksimr
Copy link
Contributor

maksimr commented May 27, 2015

@dignifiedquire what about remove peerDependencies from plugins? :)

@dignifiedquire
Copy link
Member Author

@maksimr I'm getting the feeling that removing it is the best way forward

@dignifiedquire
Copy link
Member Author

After some more contemplation and references like npm/npm#5080 I think the way forward should be:

  • Make karma (plugins) more intelligent and let them check the karma object they work with if there is a need to depend on specific features.
  • Remove karma from peerDependencies and dependencies, except for grunt-karma which should have a direct dependency on karma as it requires it directly. There I will switch to using the proposed >= 0.12.0 || >= 0.13.0-rc.0 which will have to be updated for new releases.

If I don't hear any arguments against this, I will make the needed prs/changes starting tomorrow

// cc @karma-runner/contributors

dignifiedquire added a commit to dignifiedquire/karma-mocha that referenced this issue Jun 9, 2015
dignifiedquire added a commit to dignifiedquire/karma-phantomjs-launcher that referenced this issue Jun 9, 2015
dignifiedquire added a commit to dignifiedquire/karma-jasmine that referenced this issue Jun 9, 2015
dignifiedquire added a commit to dignifiedquire/karma-webpack that referenced this issue Jun 9, 2015
dignifiedquire added a commit to karma-runner/karma-coverage that referenced this issue Jun 9, 2015
This avoids a lot of issues we are having with peerDependencies.

BREAKING CHANGE:

Karma is no longer a `peerDependency` so it needs to be installed
manually.

Ref karma-runner/integration-tests#5
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

2 participants