Code Monkey home page Code Monkey logo

ember-cli-update's Introduction

ember-cli-update

npm version Build status

logo

Update Ember CLI projects

The 2 use cases are:

  1. Updating a project's boilerplate code from an older Ember version to a newer one like 3.4.0 to 3.20.0 for example. These are called base blueprints and there are 3 types officially provided by ember-cli: app, addon, and glimmer.
    • This is different from the existing ember init command. That command tries to reset your project back to a brand new project. It removes all your changes and additions.
  2. Updating boilerplate code for a blueprint from an Ember addon from an older version to a newer one. These are called custom blueprints.

Check out the wiki guide for more details.

You can run the CLI either as a global executable available to all projects or an Ember CLI command in a single project.

The CLI attempts to be a thin wrapper of boilerplate-update.

Installation

As a global executable:

npm install -g ember-cli-update

As an Ember CLI command:

ember install ember-cli-update

(You must commit the change to package.json before running the update command or else you get an error.)

Usage

Make sure your git working directory is clean before updating.

Inside your project directory, if you installed globally run

ember-cli-update

or if you installed as an Ember CLI command run

ember update

This will update your app or addon to the latest Ember CLI version. It does this by fetching the latest version and comparing it to your project's Ember CLI version. It then applies a diff of the changes from the latest version to your project. It will only modify the files if there are changes between your project's version and the latest version, and it will only change the section necessary, not the entire file.

This is different from the existing ember init command. That command tries to reset your project back to a brand new project. It removes all your changes and additions.

You will probably encounter merge conflicts, in which the default behavior is to let you resolve conflicts on your own. You can supply the --resolve-conflicts option to run your system's git merge tool if any conflicts are found.

This tool can also run codemods for you. The option --run-codemods will figure out what codemods apply to your current version of Ember.js, and download and run them for you.

Examples

(These examples assume you are using the global command.)

To update to the latest version of Ember CLI:

ember-cli-update

To update to a certain version of Ember CLI:

ember-cli-update --to 3.1.0

To run codemods:

(This should be run after running the normal update shown above, and after you've resolved any conflicts.)

ember-cli-update --run-codemods

Commands

ember-cli-update

Commands:
  ember-cli-update bootstrap        saves the detected blueprint state
  ember-cli-update codemods         Run codemods to help update your code
  ember-cli-update compare          Show the changes between different versions
                                    without updating
  ember-cli-update init             initialize a blueprint
  ember-cli-update install <addon>  install an addon
  ember-cli-update reset            reset a blueprint
  ember-cli-update save             save old blueprint state
  ember-cli-update stats            list blueprint version updates

Options:
      --help                     Show help                             [boolean]
      --version                  Show version number                   [boolean]
  -p, --package-name, --package  Provide a package that can contain many
                                 blueprints ("@glimmer/blueprint", "git+https://
                                 [email protected]/tildeio/libkit.git",
                                 "../blueprint")                        [string]
  -b, --blueprint                Provide a custom blueprint for use in the
                                 update ("@glimmer/blueprint", "git+https://git@
                                 github.com/tildeio/libkit.git", "../blueprint")
                                                                        [string]
      --from                     Use a starting version that is different than
                                 what is in your package.json ("2.9.1") [string]
      --to                       Update to a version that isn't latest
                                 ("2.14.1", "~2.15", "latest", "beta")  [string]
      --resolve-conflicts        Automatically run git mergetool if conflicts
                                 found                [boolean] [default: false]
      --run-codemods             Run codemods to help update your code
                                                      [boolean] [default: false]
      --codemods-source          Supply your own codemods manifest via URL
                                 ("ember-app-codemods-manifest@*",
                                 "git+https://github.com/ember-cli/ember-app-cod
                                 emods-manifest.git#semver:*")          [string]
      --codemods-json            Supply your own codemods manifest via JSON (`{
                                 /* json */ }`)                         [string]
      --reset                    Reset your code to the default blueprint at the
                                 new version          [boolean] [default: false]
      --compare-only             Show the changes between different versions
                                 without updating     [boolean] [default: false]
      --stats-only               Show all calculated values regarding your
                                 project              [boolean] [default: false]
      --list-codemods            List available codemods
                                                      [boolean] [default: false]
      --output-repo              An output repository of changes over time
                                                                        [string]

ember-cli-update bootstrap

saves the detected blueprint state

Options:
  --help     Show help                                                 [boolean]
  --version  Show version number                                       [boolean]

ember-cli-update codemods

Run codemods to help update your code

Options:
      --help                    Show help                              [boolean]
      --version                 Show version number                    [boolean]
  -p, --packageName, --package  Provide a package that can contain many
                                blueprints ("@glimmer/blueprint",
                                "git+https://[email protected]/tildeio/libkit.git",
                                "../blueprint")                         [string]
  -b, --blueprint               Provide a custom blueprint for use in the update
                                ("@glimmer/blueprint",
                                "git+https://[email protected]/tildeio/libkit.git",
                                "../blueprint")                         [string]
      --source-json             Supply your own codemods manifest via JSON (`{
                                /* json */ }`)                          [string]
      --list                    List available codemods
                                                      [boolean] [default: false]

ember-cli-update compare

Show the changes between different versions without updating

Options:
      --help                    Show help                              [boolean]
      --version                 Show version number                    [boolean]
  -p, --packageName, --package  Provide a package that can contain many
                                blueprints ("@glimmer/blueprint",
                                "git+https://[email protected]/tildeio/libkit.git",
                                "../blueprint")                         [string]
  -b, --blueprint               Provide a custom blueprint for use in the update
                                ("@glimmer/blueprint",
                                "git+https://[email protected]/tildeio/libkit.git",
                                "../blueprint")                         [string]
      --to                      Update to a version that isn't latest ("2.14.1",
                                "~2.15", "latest", "beta")              [string]

ember-cli-update init

initialize a blueprint

Options:
      --help              Show help                                    [boolean]
      --version           Show version number                          [boolean]
  -b, --blueprint         Provide a custom blueprint for use in the update
                          ("@glimmer/blueprint",
                          "git+https://[email protected]/tildeio/libkit.git",
                          "../blueprint")                               [string]
      --to                Update to a version that isn't latest ("2.14.1",
                          "~2.15", "latest", "beta")                    [string]
      --resolveConflicts  Automatically run git mergetool if conflicts found
                                                      [boolean] [default: false]
      --outputRepo        An output repository of changes over time     [string]
      --codemodsSource    Supply your own codemods manifest via URL
                          ("ember-app-codemods-manifest@*",
                          "git+https://github.com/ember-cli/ember-app-codemods-m
                          anifest.git#semver:*")                        [string]

ember-cli-update install <addon>

install an addon

Options:
      --help       Show help                                           [boolean]
      --version    Show version number                                 [boolean]
  -b, --blueprint  Provide a custom blueprint for use in the update
                   ("@glimmer/blueprint",
                   "git+https://[email protected]/tildeio/libkit.git",
                   "../blueprint")                                      [string]

ember-cli-update reset

reset a blueprint

Options:
      --help                    Show help                              [boolean]
      --version                 Show version number                    [boolean]
  -p, --packageName, --package  Provide a package that can contain many
                                blueprints ("@glimmer/blueprint",
                                "git+https://[email protected]/tildeio/libkit.git",
                                "../blueprint")                         [string]
  -b, --blueprint               Provide a custom blueprint for use in the update
                                ("@glimmer/blueprint",
                                "git+https://[email protected]/tildeio/libkit.git",
                                "../blueprint")                         [string]
      --to                      Update to a version that isn't latest ("2.14.1",
                                "~2.15", "latest", "beta")              [string]

ember-cli-update save

save old blueprint state

Options:
      --help                    Show help                              [boolean]
      --version                 Show version number                    [boolean]
  -p, --packageName, --package  Provide a package that can contain many
                                blueprints ("@glimmer/blueprint",
                                "git+https://[email protected]/tildeio/libkit.git",
                                "../blueprint")                         [string]
  -b, --blueprint               Provide a custom blueprint for use in the update
                                ("@glimmer/blueprint",
                                "git+https://[email protected]/tildeio/libkit.git",
                                "../blueprint")                         [string]
      --from                    Use a starting version that is different than
                                what is in your package.json ("2.9.1")  [string]
      --outputRepo              An output repository of changes over time
                                                                        [string]
      --codemodsSource          Supply your own codemods manifest via URL
                                ("ember-app-codemods-manifest@*",
                                "git+https://github.com/ember-cli/ember-app-code
                                mods-manifest.git#semver:*")            [string]

ember-cli-update stats

list blueprint version updates

Options:
      --help                    Show help                              [boolean]
      --version                 Show version number                    [boolean]
  -p, --packageName, --package  Provide a package that can contain many
                                blueprints ("@glimmer/blueprint",
                                "git+https://[email protected]/tildeio/libkit.git",
                                "../blueprint")                         [string]
  -b, --blueprint               Provide a custom blueprint for use in the update
                                ("@glimmer/blueprint",
                                "git+https://[email protected]/tildeio/libkit.git",
                                "../blueprint")                         [string]

Power User Guide

Let's update from Ember CLI 2.18.2 to Ember CLI 3.1.4

First, make sure you are on the latest ember-cli-update version for good measure.

npm install -g ember-cli-update

Then, run all compatible codemods against your current version. Since codemods are downloaded on the fly, they can be updated (and new ones added) without even getting a new version of ember-cli-update. Also, we may add additional codemods targeting your older version of Ember.js.

ember-cli-update --run-codemods

Assuming you are multiple versions behind of Ember CLI, you may want to update in stages. Unless you have a really simple app, updating in stages can help isolate upgrade issues.

ember-cli-update --to 3.0

Once you resolve conflicts and commit, You again want to run codemods. This is because new codemods targeting Ember.js 3.0 will now apply.

ember-cli-update --run-codemods

Now you are ready to update again. (If your final update is going to be the latest version of Ember CLI, you don't need the --to option.)

ember-cli-update --to 3.1

Again, after you resolve conflicts and commit, you want to run codemods because of new Ember.js 3.1 codemods.

ember-cli-update --run-codemods

And then you're done! You have a freshly updated app (or addon). As noted, you can consolidate these steps by doing a direct update, but then you may be confused if you encounter issues which version is to blame.

Hints

Need help using git mergetool? Here are some starting points:

If you made a mistake during the update/conflict resolution, run these commands to undo everything and get you back to before the update:

git reset --hard
git clean -f

If you notice ".orig" files lying around after a merge and don't want that behavior, run git config --global mergetool.keepBackup false.

To avoid being prompted "Hit return to start merge resolution tool (vimdiff):" for every conflict, set a merge tool like git config --global merge.tool "vimdiff".

If you run into an error like error: unrecognized input, you may need to update your git config color option like git config --global color.ui auto.

Troubleshooting

If you are getting an error or unexpected results, running the command with the debug flag:

  • Unix (global):   DEBUG=ember-cli-update,boilerplate-update,git-diff-apply ember-cli-update
  • Windows (global):   set DEBUG=ember-cli-update,boilerplate-update,git-diff-apply && ember-cli-update
  • Unix (command):   DEBUG=ember-cli-update,boilerplate-update,git-diff-apply ember update
  • Windows (command):   set DEBUG=ember-cli-update,boilerplate-update,git-diff-apply && ember update

will give you more detailed logging.

ember-cli-update's People

Contributors

0xadada avatar akashdsouza avatar alonski avatar astronomersiva avatar dnahodil avatar elwayman02 avatar gitstevenpham avatar greenkeeper[bot] avatar kellyselden avatar kiwiupover avatar mansona avatar maxwondercorn avatar minthamie avatar rajasegar avatar renovate-bot avatar renovate[bot] avatar rondale-sc avatar rwjblue avatar shouldergiant avatar yohanmishkin avatar yowainwright avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ember-cli-update's Issues

Removes all other node_modules folders

My Ember app is in a "mono-repo", so the top folder is the git repo, and has a couple Ember apps and an Express app. I ran this update in one of the Ember apps, and all of the other node_modules folders are gone. In the other Ember apps and in the top level folder. As well as in an engine inside of one of the Ember apps.

conflict with `my-app` or `my-addon`

The blueprint output repo uses app and addon names prefixed with "my". Any line that updates will merge conflict with your app name. We could fix this by doing some post-processing on the output repos to inject your app name in the files, so that there will no longer be a conflict.

An in-range update of git-fixtures is breaking the build 🚨

Version 0.5.1 of git-fixtures just got published.

Branch Build failing 🚨
Dependency git-fixtures
Current Version 0.5.0
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As git-fixtures is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this 💪

Status Details
  • continuous-integration/travis-ci/push The Travis CI build is in progress Details
  • continuous-integration/appveyor/branch AppVeyor build failed Details

Commits

The new version differs by 2 commits.

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of eslint is breaking the build 🚨

Version 4.4.1 of eslint just got published.

Branch Build failing 🚨
Dependency eslint
Current Version 4.4.0
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As eslint is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this 💪

Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details
  • continuous-integration/appveyor/branch AppVeyor build failed Details

Release Notes v4.4.1
  • ec93614 Fix: no-multi-spaces to avoid reporting consecutive tabs (fixes #9079) (#9087) (Teddy Katz)
Commits

The new version differs by 3 commits.

  • 0d9da6d 4.4.1
  • 1ea9a6c Build: changelog update for 4.4.1
  • ec93614 Fix: no-multi-spaces to avoid reporting consecutive tabs (fixes #9079) (#9087)

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Manually Resolve Conflicts (without a difftool)

Hi!

I'd love to use this tool while using my normal merge conflict resolution workflow. I usually use atom to resolve merge conflicts - it has (non-difftool) diff resolution capabilities built into it.

  1. If I [cmd+c] during the difftool steps, would I be missing any steps that come after?
  2. Is this project set up in a way that we could disable running the difftool using a flag like --disable-difftool or something?

An in-range update of eslint is breaking the build 🚨

Version 4.7.0 of eslint just got published.

Branch Build failing 🚨
Dependency eslint
Current Version 4.6.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As eslint is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this 💪

Status Details
  • continuous-integration/travis-ci/push The Travis CI build passed Details
  • continuous-integration/appveyor/branch AppVeyor build failed Details

Release Notes v4.7.0
  • 787b78b Upgrade: Espree v3.5.1 (fixes #9153) (#9314) (Brandon Mills)
  • 1488b51 Update: run rules after node.parent is already set (fixes #9122) (#9283) (Teddy Katz)
  • 4431d68 Docs: fix wrong config in max-len example. (#9309) (薛定谔的猫)
  • 7d24dde Docs: Fix code snippet to refer to the correct option (#9313) (Ruben Tytgat)
  • 12388d4 �Chore: rewrite parseListConfig for a small perf gain. (#9300) (薛定谔的猫)
  • ce1f084 Update: fix MemberExpression handling in no-extra-parens (fixes #9156) (jackyho112)
  • 0c720a3 Update: allow autofixing when using processors (fixes #7510) (#9090) (Teddy Katz)
  • 838df76 Chore: upgrade deps. (#9289) (薛定谔的猫)
  • f12def6 Update: indent flatTernary option to handle return (fixes #9285) (#9296) (Teddy Katz)
  • e220687 Fix: remove autofix for var undef inits (fixes #9231) (#9288) (Victor Hom)
  • 002e199 Docs: fix no-restricted-globals wrong config. (#9305) (薛定谔的猫)
  • fcfe91a Docs: fix wrong config in id-length example. (#9303) (薛定谔的猫)
  • 2731f94 Update: make newline-per-chained-call fixable (#9149) (João Granado)
  • 61f1093 Chore: avoid monkeypatching Linter instances in RuleTester (#9276) (Teddy Katz)
  • 28929cb Chore: remove Linter#reset (refs #9161) (#9268) (Teddy Katz)
  • abc8634 Build: re-run browserify when generating site (#9275) (Teddy Katz)
  • 7685fed Fix: IIFE and arrow functions in no-invalid-this (fixes #9126) (#9258) (Toru Nagashima)
  • 2b1eba2 Chore: enable eslint-plugin/no-deprecated-context-methods (#9279) (Teddy Katz)
  • 981f933 Fix: reuse the AST of source code object in verify (#9256) (Toru Nagashima)
  • cd698ba Docs: move RuleTester documentation to Node.js API page (#9273) (Teddy Katz)
  • 4ae7ad3 Docs: fix inaccuracy in npm run perf description (#9274) (Teddy Katz)
  • cad45bd Docs: improve documentation for rule contexts (#9272) (Teddy Katz)
  • 3b0c6fd Chore: remove extraneous linter properties (refs #9161) (#9267) (Teddy Katz)
  • c3231b3 Docs: Fix typo in array-bracket-newline.md (#9269) (宋文强)
  • 51132d6 Fix: Formatters keep trailing '.' if preceded by a space (fixes #9154) (#9247) (i-ron-y)
  • 88d5d4d Chore: remove undocumented Linter#markVariableAsUsed method (refs #9161) (#9266) (Teddy Katz)
  • 09414cf Chore: remove internal Linter#getDeclaredVariables method (refs #9161) (#9264) (Teddy Katz)
  • f31f59d Chore: prefer smaller scope for variables in codebase (#9265) (Teddy Katz)
  • 3693e4e Chore: remove undocumented Linter#getScope method (#9253) (Teddy Katz)
  • 5d7eb81 Chore: refactor config hash caching in CLIEngine (#9260) (Teddy Katz)
  • 1a76c4d Chore: remove SourceCode passthroughs from Linter.prototype (refs #9161) (#9263) (Teddy Katz)
  • 40ae27b Chore: avoid relying on Linter#getScope/markVariableAsUsed in tests (#9252) (Teddy Katz)
  • b383d81 Chore: make executeOnFile a pure function in CLIEngine (#9262) (Teddy Katz)
  • 5e0e579 Chore: avoid internal SourceCode methods in Linter tests (refs #9161) (#9223) (Teddy Katz)
  • adab827 Chore: remove unused eslint-disable comment (#9251) (Teddy Katz)
  • 31e4ec8 Chore: use consistent names for apply-disable-directives in tests (#9246) (Teddy Katz)
  • 7ba46e6 Fix: shebang error in eslint-disable-new-line; add tests (fixes #9238) (#9240) (i-ron-y)
  • 8f6546c Chore: remove undocumented defaults() method (refs #9161) (#9237) (Teddy Katz)
  • 82d8b73 Docs: Fix error in example code for sort-imports (fixes #8734) (#9245) (i-ron-y)
  • a32ec36 Update: refactor eslint-disable comment processing (#9216) (Teddy Katz)
  • 583f0b8 Chore: avoid using globals in CLIEngine tests (#9242) (Teddy Katz)
  • c8bf687 Chore: upgrade [email protected] (#9234) (薛定谔的猫)
  • 3c41a05 Chore: always normalize rules to new API in rules.js (#9236) (Teddy Katz)
  • c5f4227 Chore: move logic for handling missing rules to rules.js (#9235) (Teddy Katz)
  • bf1e344 Chore: create report translators lazily (#9221) (Teddy Katz)
  • 2eedc1f Chore: remove currentFilename prop from Linter instances (refs #9161) (#9219) (Teddy Katz)
  • 5566e94 Docs: Replace misleading CLA links (#9133) (#9232) (i-ron-y)
  • c991630 Chore: remove ConfigOps.normalize in favor of ConfigOps.getRuleSeverity (#9224) (Teddy Katz)
  • 171962a Chore: remove internal Linter#getAncestors helper (refs #9161) (#9222) (Teddy Katz)
  • a567499 Chore: avoid storing list of problems on Linter instance (refs #9161) (#9214) (Teddy Katz)
  • ed6d088 Chore: avoid relying on undocumented Linter#getFilename API in tests (#9218) (Teddy Katz)
Commits

The new version differs by 55 commits.

  • 439e8e6 4.7.0
  • 2ec62f9 Build: changelog update for 4.7.0
  • 787b78b Upgrade: Espree v3.5.1 (fixes #9153) (#9314)
  • 1488b51 Update: run rules after node.parent is already set (fixes #9122) (#9283)
  • 4431d68 Docs: fix wrong config in max-len example. (#9309)
  • 9d1df92 Chore: Revert "avoid handling Rules instances in config-validator" (#9295)
  • 7d24dde Docs: Fix code snippet to refer to the correct option (#9313)
  • 12388d4 �Chore: rewrite parseListConfig for a small perf gain. (#9300)
  • ce1f084 Update: fix MemberExpression handling in no-extra-parens (fixes #9156)
  • 0c720a3 Update: allow autofixing when using processors (fixes #7510) (#9090)
  • 838df76 Chore: upgrade deps. (#9289)
  • f12def6 Update: indent flatTernary option to handle return (fixes #9285) (#9296)
  • e220687 Fix: remove autofix for var undef inits (fixes #9231) (#9288)
  • 002e199 Docs: fix no-restricted-globals wrong config. (#9305)
  • fcfe91a Docs: fix wrong config in id-length example. (#9303)

There are 55 commits in total.

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Git repo put into a bad state after ".git/index.lock: File exists." errors

dwickern:ui dwickern$ ember-cli-update --ignore-conflicts
Cloning into bare repository '/var/folders/dz/4bq_l12j3491zyx7g8vk6nr80000gn/T/tmp-6689NVfjU3YWGjuY/.git'...
Switched to a new branch '3bccf3c0-93e9-11e7-b21b-ab3e637caecb'
Note: checking out 'f98da31d2299050773c98e01b1019437cd323391'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at f98da31... 2.14.0
fatal: Unable to create '/Users/dwickern/code/my-app/.git/index.lock': File exists.

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.
{ Error: Command failed: git add -A
fatal: Unable to create '/Users/dwickern/code/my-app/.git/index.lock': File exists.

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.

...

dwickern:ui dwickern$ git show
fatal: your current branch '3bccf3c0-93e9-11e7-b21b-ab3e637caecb' does not have any commits yet
dwickern:ui dwickern$ git status
On branch 3bccf3c0-93e9-11e7-b21b-ab3e637caecb

Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	./

nothing added to commit but untracked files present (use "git add" to track)

Recovered with git checkout --force master

Getting 'You must start with a clean working directory'

Hi,

Trying to update a Ember 2.14 project to Ember 2.15, I'm receiving a 'You must start with a clean working directory'

ember-cli: 2.15.0
node: 8.4.0
npm: 5.3.0
git: 2.14.1
os: darwin x64

If you need any more info, feel free to contact me.

Cheers!

Errors if already up-to-date

If it is already up-to-date:

fatal: unrecognized input
{ Error: Command failed: git --git-dir="/var/folders/vc/wjjhq0f542q3dn2109clfy81dlk662/T/tmp-83490s1fjAr0i4QkE/.git" diff v2.14.2 v2.14.2 | git apply
fatal: unrecognized input

    at checkExecSyncError (child_process.js:481:13)
    at Object.execSync (child_process.js:521:13)
    at run (/Users/kelly.selden/.nvm/versions/node/v7.10.1/lib/node_modules/ember-cli-update/node_modules/git-diff-apply/src/run.js:8:19)
    at ncp.then (/Users/kelly.selden/.nvm/versions/node/v7.10.1/lib/node_modules/ember-cli-update/node_modules/git-diff-apply/src/index.js:51:5)
    at process._tickCallback (internal/process/next_tick.js:109:7)

An in-range update of git-diff-apply is breaking the build 🚨

Version 0.1.3 of git-diff-apply just got published.

Branch Build failing 🚨
Dependency git-diff-apply
Current Version 0.1.2
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

git-diff-apply is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪

Status Details
  • continuous-integration/appveyor/branch Waiting for AppVeyor build to complete Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 2 commits.

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of git-diff-apply is breaking the build 🚨

Version 0.3.2 of git-diff-apply just got published.

Branch Build failing 🚨
Dependency git-diff-apply
Current Version 0.3.1
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

git-diff-apply is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪

Status Details
  • continuous-integration/travis-ci/push The Travis CI build passed Details
  • continuous-integration/appveyor/branch AppVeyor build failed Details

Commits

The new version differs by 8 commits.

  • d0896a3 0.3.2
  • 12f7730 no-op when start and end tag match
  • 3725388 rename
  • 5adba8e rename
  • 8473a6f don't need actual startTag here
  • 9934da7 move ignoredFiles test to it's own test
  • 335ff37 move some acceptance tests to integration tests
  • 8091d76 chore(package): update git-fixtures to version 0.8.0

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

More intelligent handling of `package.json`.

After running ember-cli-update on ~ 25 or so addons (and learning how to use git mergetool) I've found that fixing up the merge conflicts in package.json end up being the most time consuming. I think we can do even better than git for this specific file.

In general, I'd like to:

  1. Run sort-package-json (to ensure the correct sort order before applying).
  2. Leverage three-way-merger to update the specific dependencies / devDependencies required.
  3. Generate a patch of the package.json files (using --from and --to versions) excluding changes in dependencies and devDependencies using RFC6902 and apply them.

Deletes git ignored files

ember update deletes .env file from the project's root. This file is not checked into git repo and ignored by .gitignore.

path option is not in docs

#111 mentions that a new helper has been added for when using the update command on mono-repos.

I tried using ember update --help, but it does not mention this new method.

I believe the --path option was added, but am just in the middle of trying it out.

NPM Auth issue

We are using http://inedo.com/proget as npm proxy, maybe thats the problem?

  ember-cli-update npm info ember-cli versions --json +0ms
npm ERR! This request requires auth credentials. Run `npm login` and repeat the request.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\nj.ALPHA\AppData\Roaming\npm-cache\_logs\2017-10-11T07_41_47_926Z-debug.log
child_process.js:524
    throw err;
    ^

Error: Command failed: npm info ember-cli versions --json
npm ERR! This request requires auth credentials. Run `npm login` and repeat the request.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\nj.ALPHA\AppData\Roaming\npm-cache\_logs\2017-10-11T07_41_47_926Z-debug.log

    at checkExecSyncError (child_process.js:481:13)
    at Object.execSync (child_process.js:521:13)
    at run (C:\Users\nj.ALPHA\AppData\Roaming\npm\node_modules\ember-cli-update\src\run.js:8:19)
    at emberCliUpdate (C:\Users\nj.ALPHA\AppData\Roaming\npm\node_modules\ember-cli-update\src\index.js:30:5)
    at Object.<anonymous> (C:\Users\nj.ALPHA\AppData\Roaming\npm\node_modules\ember-cli-update\bin\ember-cli-update.js:15:1)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)

An in-range update of rfc6902-ordered is breaking the build 🚨

Version 2.1.0 of rfc6902-ordered was just published.

Branch Build failing 🚨
Dependency rfc6902-ordered
Current Version 2.0.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

rfc6902-ordered is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/appveyor/branch AppVeyor build succeeded Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details

Commits

The new version differs by 2 commits.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Flesh out README a bit more.

  • Add more information to the summary section. I'd like to generally explain what we are doing (e.g. creating a diff between the ember-cli blueprint output of the --from version to the --to version, and then applying that diff to their project).
  • Explain the end / conflict workflow (aka lots of links about git mergetool).
  • Update error message (and link back to our README?) for dirty working directory (see #64).

More intelligently handle moving a dep from `dependencies` to `devDependencies`

In the case of an ember-cli addon that provides no runtime ("in browser") code, it is often a good idea to move ember-cli-babel from dependencies to devDependencies (so consumers are not installing an arbitrary version of ember-cli-babel that is never used).

Currently, when that is done the various package.json merging strategies do not identify the "new" devDependencies entry and update it to the blueprints version...

Auto-running Codemods

I just used this tool to update my codebase and I liked it a lot! much better than doing ember init after manually updating 🎉

The auto-running codemod step made this interesting. I wanted to commit the [ember file changes] (like a default comment in environment.js) separately from the [ember modules codemod changes], but since this tool automatically did both at once they ended up in the same commit. I'm just accepting them in the same commit for now, but I can imagine some ways this would run better for others / in the future.

Ideas:

  • After doing the ember file changes, suggesting something like you should run "npx ember-modules-codemod" now to get these updated instead of doing it automatically
  • Commiting the ember changes first, and then auto-running the codemod after
  • introducing a flag to NOT auto-run any codemods?
  • saying in the readme more clearly that some codemods ARE auto-run - and for which versions etc (currently it's only listed as a possibility under "future ideas")

An in-range update of git-diff-apply is breaking the build 🚨

Version 0.6.1 of git-diff-apply was just published.

Branch Build failing 🚨
Dependency git-diff-apply
Current Version 0.6.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

git-diff-apply is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build is in progress Details
  • continuous-integration/appveyor/branch AppVeyor build failed Details

Commits

The new version differs by 4 commits.

  • acb8b98 0.6.1
  • df5e72f gracefully handle running outside a git repository
  • 00df9e6 chore(package): update git-fixtures to version 0.10.0
  • 244cfe9 better copy assertion

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

TypeError: Invalid comparator: ember-cli/loader.js

Running on a Mac, the command fails with the following exception with v0.7.1. I have tried --to "2.12" and --to "2.12.0". This project is an addon.

TypeError: Invalid comparator: ember-cli/loader.js
    at Comparator.parse (/Users/alex/.config/yarn/global/node_modules/semver/semver.js:678:11)
    at new Comparator (/Users/alex/.config/yarn/global/node_modules/semver/semver.js:662:8)
    at /Users/alex/.config/yarn/global/node_modules/semver/semver.js:828:12
    at Array.map (native)
    at Range.parseRange (/Users/alex/.config/yarn/global/node_modules/semver/semver.js:827:13)
    at Range.<anonymous> (/Users/alex/.config/yarn/global/node_modules/semver/semver.js:769:17)
    at Array.map (native)
    at new Range (/Users/alex/.config/yarn/global/node_modules/semver/semver.js:768:40)
    at minVersion (/Users/alex/.config/yarn/global/node_modules/three-way-merger/lib/merge.js:14:11)
    at /Users/alex/.config/yarn/global/node_modules/three-way-merger/lib/merge.js:57:19

Full output:

Alexs-MacBook-Pro-3:rp-common alex$ DEBUG=ember-cli-update,git-diff-apply ember-cli-update --to "2.12"
  ember-cli-update npm info ember-cli versions --json +0ms
  ember-cli-update [
  ember-cli-update   "0.0.0",
  ember-cli-update   "0.0.1",
  ember-cli-update   "0.0.2",
  ember-cli-update   "0.0.3",
  ember-cli-update   "0.0.4",
  ember-cli-update   "0.0.5",
  ember-cli-update   "0.0.6",
  ember-cli-update   "0.0.7",
  ember-cli-update   "0.0.8",
  ember-cli-update   "0.0.9",
  ember-cli-update   "0.0.10",
  ember-cli-update   "0.0.11",
  ember-cli-update   "0.0.12",
  ember-cli-update   "0.0.13",
  ember-cli-update   "0.0.14",
  ember-cli-update   "0.0.15",
  ember-cli-update   "0.0.16",
  ember-cli-update   "0.0.18",
  ember-cli-update   "0.0.19",
  ember-cli-update   "0.0.20",
  ember-cli-update   "0.0.21",
  ember-cli-update   "0.0.22",
  ember-cli-update   "0.0.23",
  ember-cli-update   "0.0.24",
  ember-cli-update   "0.0.25",
  ember-cli-update   "0.0.27",
  ember-cli-update   "0.0.28",
  ember-cli-update   "0.0.29",
  ember-cli-update   "0.0.32",
  ember-cli-update   "0.0.33",
  ember-cli-update   "0.0.34",
  ember-cli-update   "0.0.35",
  ember-cli-update   "0.0.36",
  ember-cli-update   "0.0.37",
  ember-cli-update   "0.0.38",
  ember-cli-update   "0.0.39",
  ember-cli-update   "0.0.40",
  ember-cli-update   "0.0.41",
  ember-cli-update   "0.0.42",
  ember-cli-update   "0.0.43",
  ember-cli-update   "0.0.44",
  ember-cli-update   "0.0.45",
  ember-cli-update   "0.0.46",
  ember-cli-update   "0.0.47",
  ember-cli-update   "0.1.0",
  ember-cli-update   "0.1.1",
  ember-cli-update   "0.1.2",
  ember-cli-update   "0.1.3",
  ember-cli-update   "0.1.4",
  ember-cli-update   "0.1.5",
  ember-cli-update   "0.1.6",
  ember-cli-update   "0.1.7",
  ember-cli-update   "0.1.8",
  ember-cli-update   "0.1.9",
  ember-cli-update   "0.1.10",
  ember-cli-update   "0.1.11",
  ember-cli-update   "0.1.12",
  ember-cli-update   "0.1.13",
  ember-cli-update   "0.1.14",
  ember-cli-update   "0.1.15",
  ember-cli-update   "0.2.0-beta.1",
  ember-cli-update   "0.2.0",
  ember-cli-update   "0.2.1",
  ember-cli-update   "0.2.2",
  ember-cli-update   "0.2.3",
  ember-cli-update   "0.2.4",
  ember-cli-update   "0.2.5",
  ember-cli-update   "0.2.6",
  ember-cli-update   "0.2.7",
  ember-cli-update   "1.13.0",
  ember-cli-update   "1.13.1",
  ember-cli-update   "1.13.5",
  ember-cli-update   "1.13.6",
  ember-cli-update   "1.13.7",
  ember-cli-update   "1.13.8",
  ember-cli-update   "1.13.9",
  ember-cli-update   "1.13.10",
  ember-cli-update   "1.13.11",
  ember-cli-update   "1.13.12",
  ember-cli-update   "1.13.13",
  ember-cli-update   "1.13.14",
  ember-cli-update   "1.13.15",
  ember-cli-update   "2.2.0-beta.1",
  ember-cli-update   "2.2.0-beta.2",
  ember-cli-update   "2.2.0-beta.3",
  ember-cli-update   "2.2.0-beta.4",
  ember-cli-update   "2.2.0-beta.5",
  ember-cli-update   "2.2.0-beta.6",
  ember-cli-update   "2.3.0-beta.1",
  ember-cli-update   "2.3.0-beta.2",
  ember-cli-update   "2.3.0",
  ember-cli-update   "2.4.0",
  ember-cli-update   "2.4.1",
  ember-cli-update   "2.4.2",
  ember-cli-update   "2.4.3",
  ember-cli-update   "2.5.0",
  ember-cli-update   "2.5.1",
  ember-cli-update   "2.6.0-beta.1",
  ember-cli-update   "2.6.0-beta.2",
  ember-cli-update   "2.6.0-beta.3",
  ember-cli-update   "2.6.0",
  ember-cli-update   "2.6.1",
  ember-cli-update   "2.6.2",
  ember-cli-update   "2.6.3",
  ember-cli-update   "2.7.0-beta.1",
  ember-cli-update   "2.7.0-beta.2",
  ember-cli-update   "2.7.0-beta.3",
  ember-cli-update   "2.7.0-beta.4",
  ember-cli-update   "2.7.0-beta.5",
  ember-cli-update   "2.7.0-beta.6",
  ember-cli-update   "2.7.0",
  ember-cli-update   "2.8.0-beta.1",
  ember-cli-update   "2.8.0-beta.2",
  ember-cli-update   "2.8.0-beta.3",
  ember-cli-update   "2.8.0",
  ember-cli-update   "2.9.0-beta.1",
  ember-cli-update   "2.9.0-beta.2",
  ember-cli-update   "2.9.0",
  ember-cli-update   "2.9.1",
  ember-cli-update   "2.10.0-beta.1",
  ember-cli-update   "2.10.0-beta.2",
  ember-cli-update   "2.10.0",
  ember-cli-update   "2.10.1",
  ember-cli-update   "2.11.0-beta.1",
  ember-cli-update   "2.11.0-beta.2",
  ember-cli-update   "2.11.0",
  ember-cli-update   "2.11.1",
  ember-cli-update   "2.12.0-beta.1",
  ember-cli-update   "2.12.0-beta.2",
  ember-cli-update   "2.12.0",
  ember-cli-update   "2.12.1",
  ember-cli-update   "2.12.2",
  ember-cli-update   "2.12.3",
  ember-cli-update   "2.13.0-beta.1",
  ember-cli-update   "2.13.0-beta.2",
  ember-cli-update   "2.13.0-beta.3",
  ember-cli-update   "2.13.0-beta.4",
  ember-cli-update   "2.13.0",
  ember-cli-update   "2.13.1",
  ember-cli-update   "2.13.2",
  ember-cli-update   "2.13.3",
  ember-cli-update   "2.14.0-beta.1",
  ember-cli-update   "2.14.0-beta.2",
  ember-cli-update   "2.14.0",
  ember-cli-update   "2.14.1",
  ember-cli-update   "2.14.2",
  ember-cli-update   "2.15.0-beta.1",
  ember-cli-update   "2.15.0-beta.2",
  ember-cli-update   "2.15.0",
  ember-cli-update   "2.15.1",
  ember-cli-update   "2.16.0-beta.1"
  ember-cli-update ]
  ember-cli-update  +719ms
  git-diff-apply git status --porcelain +0ms
  git-diff-apply  +26ms
  git-diff-apply git clone --mirror https://github.com/ember-cli/ember-addon-output /var/folders/x0/c5k5kgt171xcffrn39lsk69c0000gn/T/tmp-5564t4aPqd2QzQsN/.git +2ms
Cloning into bare repository '/var/folders/x0/c5k5kgt171xcffrn39lsk69c0000gn/T/tmp-5564t4aPqd2QzQsN/.git'...
  git-diff-apply  +3s
  git-diff-apply git symbolic-ref --short HEAD +0ms
  git-diff-apply 3181-test
  git-diff-apply  +11ms
  git-diff-apply git checkout --orphan 11954e60-a215-11e7-99d9-f16f7bd616cd +0ms
Switched to a new branch '11954e60-a215-11e7-99d9-f16f7bd616cd'
  git-diff-apply  +25ms
  git-diff-apply git reset --hard +0ms
  git-diff-apply  +65ms
  git-diff-apply git --git-dir="/var/folders/x0/c5k5kgt171xcffrn39lsk69c0000gn/T/tmp-5564t4aPqd2QzQsN/.git" rev-parse v2.11.1 +1ms
  git-diff-apply 4baef6cb129249d665dab414bd3535f1ca6bc037
  git-diff-apply  +11ms
  git-diff-apply git --git-dir="/var/folders/x0/c5k5kgt171xcffrn39lsk69c0000gn/T/tmp-5564t4aPqd2QzQsN/.git" --work-tree="/var/folders/x0/c5k5kgt171xcffrn39lsk69c0000gn/T/tmp-5564t4aPqd2QzQsN" checkout 4baef6cb129249d665dab414bd3535f1ca6bc037 +0ms
Note: checking out '4baef6cb129249d665dab414bd3535f1ca6bc037'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 4baef6c... 2.11.1
  git-diff-apply  +18ms
  git-diff-apply copy /var/folders/x0/c5k5kgt171xcffrn39lsk69c0000gn/T/tmp-5564t4aPqd2QzQsN /Users/alex/proj/rp-common +0ms
  git-diff-apply [ '.bowerrc',
  git-diff-apply   '.editorconfig',
  git-diff-apply   '.ember-cli',
  git-diff-apply   '.git',
  git-diff-apply   '.gitignore',
  git-diff-apply   '.jshintrc',
  git-diff-apply   '.npmignore',
  git-diff-apply   '.travis.yml',
  git-diff-apply   '.watchmanconfig',
  git-diff-apply   'LICENSE.md',
  git-diff-apply   'README.md',
  git-diff-apply   'addon',
  git-diff-apply   'app',
  git-diff-apply   'bower.json',
  git-diff-apply   'config',
  git-diff-apply   'ember-cli-build.js',
  git-diff-apply   'index.js',
  git-diff-apply   'package.json',
  git-diff-apply   'testem.js',
  git-diff-apply   'tests',
  git-diff-apply   'vendor' ] +0ms
  git-diff-apply git add -A +35ms
  git-diff-apply  +15ms
  git-diff-apply git commit -m "startTag" +0ms
  git-diff-apply [11954e60-a215-11e7-99d9-f16f7bd616cd (root-commit) 2e5e0fc] startTag
  git-diff-apply  45 files changed, 648 insertions(+)
  git-diff-apply  create mode 100644 .DS_Store
  git-diff-apply  create mode 100644 .bowerrc
  git-diff-apply  create mode 100644 .editorconfig
  git-diff-apply  create mode 100644 .ember-cli
  git-diff-apply  create mode 100644 .gitignore
  git-diff-apply  create mode 100644 .jshintrc
  git-diff-apply  create mode 100644 .npmignore
  git-diff-apply  create mode 100644 .travis.yml
  git-diff-apply  create mode 100644 .watchmanconfig
  git-diff-apply  create mode 100644 LICENSE.md
  git-diff-apply  create mode 100644 README.md
  git-diff-apply  create mode 100644 addon/.gitkeep
  git-diff-apply  create mode 100644 app/.gitkeep
  git-diff-apply  create mode 100644 bower.json
  git-diff-apply  create mode 100644 config/ember-try.js
  git-diff-apply  create mode 100644 config/environment.js
  git-diff-apply  create mode 100644 ember-cli-build.js
  git-diff-apply  create mode 100644 index.js
  git-diff-apply  create mode 100644 package.json
  git-diff-apply  create mode 100644 testem.js
  git-diff-apply  create mode 100644 tests/.jshintrc
  git-diff-apply  create mode 100644 tests/dummy/app/app.js
  git-diff-apply  create mode 100644 tests/dummy/app/components/.gitkeep
  git-diff-apply  create mode 100644 tests/dummy/app/controllers/.gitkeep
  git-diff-apply  create mode 100644 tests/dummy/app/helpers/.gitkeep
  git-diff-apply  create mode 100644 tests/dummy/app/index.html
  git-diff-apply  create mode 100644 tests/dummy/app/models/.gitkeep
  git-diff-apply  create mode 100644 tests/dummy/app/resolver.js
  git-diff-apply  create mode 100644 tests/dummy/app/router.js
  git-diff-apply  create mode 100644 tests/dummy/app/routes/.gitkeep
  git-diff-apply  create mode 100644 tests/dummy/app/styles/app.css
  git-diff-apply  create mode 100644 tests/dummy/app/templates/application.hbs
  git-diff-apply  create mode 100644 tests/dummy/app/templates/components/.gitkeep
  git-diff-apply  create mode 100644 tests/dummy/config/environment.js
  git-diff-apply  create mode 100644 tests/dummy/public/crossdomain.xml
  git-diff-apply  create mode 100644 tests/dummy/public/robots.txt
  git-diff-apply  create mode 100644 tests/helpers/destroy-app.js
  git-diff-apply  create mode 100644 tests/helpers/module-for-acceptance.js
  git-diff-apply  create mode 100644 tests/helpers/resolver.js
  git-diff-apply  create mode 100644 tests/helpers/start-app.js
  git-diff-apply  create mode 100644 tests/index.html
  git-diff-apply  create mode 100644 tests/integration/.gitkeep
  git-diff-apply  create mode 100644 tests/test-helper.js
  git-diff-apply  create mode 100644 tests/unit/.gitkeep
  git-diff-apply  create mode 100644 vendor/.gitkeep
  git-diff-apply  +22ms
  git-diff-apply git --git-dir="/var/folders/x0/c5k5kgt171xcffrn39lsk69c0000gn/T/tmp-5564t4aPqd2QzQsN/.git" diff v2.11.1 v2.12.3 | git apply +4ms
  git-diff-apply  +17ms
  git-diff-apply git checkout -- package.json +0ms
  git-diff-apply  +13ms
  git-diff-apply git status --porcelain +0ms
  git-diff-apply  D .jshintrc
  git-diff-apply  M .npmignore
  git-diff-apply  M .travis.yml
  git-diff-apply  M config/ember-try.js
  git-diff-apply  M config/environment.js
  git-diff-apply  M ember-cli-build.js
  git-diff-apply  M index.js
  git-diff-apply  M testem.js
  git-diff-apply  D tests/.jshintrc
  git-diff-apply  M tests/dummy/config/environment.js
  git-diff-apply  M tests/helpers/start-app.js
  git-diff-apply ?? .eslintrc.js
  git-diff-apply ?? tests/.eslintrc.js
  git-diff-apply  +12ms
  git-diff-apply git add -A +0ms
  git-diff-apply  +14ms
  git-diff-apply git commit -m "diff" +0ms
  git-diff-apply [11954e60-a215-11e7-99d9-f16f7bd616cd 69a5804] diff
  git-diff-apply  13 files changed, 30 insertions(+), 101 deletions(-)
  git-diff-apply  create mode 100644 .eslintrc.js
  git-diff-apply  delete mode 100644 .jshintrc
  git-diff-apply  create mode 100644 tests/.eslintrc.js
  git-diff-apply  delete mode 100644 tests/.jshintrc
  git-diff-apply  +16ms
  git-diff-apply git rev-parse HEAD +1ms
  git-diff-apply 69a58048c2f77816e9ee4a5335b47d9d9ee2d9f8
  git-diff-apply  +11ms
  git-diff-apply git checkout 3181-test +0ms
Switched to branch '3181-test'
  git-diff-apply  +136ms
  git-diff-apply git cherry-pick --no-commit 69a58048c2f77816e9ee4a5335b47d9d9ee2d9f8 +0ms
error: could not apply 69a5804... diff
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
Resolved '.npmignore' using previous resolution.
Resolved '.travis.yml' using previous resolution.
Resolved 'config/ember-try.js' using previous resolution.
Resolved 'config/environment.js' using previous resolution.
Resolved 'ember-cli-build.js' using previous resolution.
Recorded preimage for 'testem.json'
Resolved 'tests/helpers/start-app.js' using previous resolution.
  git-diff-apply git branch -D 11954e60-a215-11e7-99d9-f16f7bd616cd +81ms
  git-diff-apply Deleted branch 11954e60-a215-11e7-99d9-f16f7bd616cd (was 69a5804).
  git-diff-apply  +11ms
  git-diff-apply git mergetool +388ms

This message is displayed because 'merge.tool' is not configured.
See 'git mergetool --tool-help' or 'git help config' for more details.
'git mergetool' will now attempt to use one of the following tools:
tortoisemerge emerge vimdiff
Merging:
.jshintrc
testem.json
tests/.jshintrc

Deleted merge conflict for '.jshintrc':
  {local}: modified file
  {remote}: deleted
Use (m)odified or (d)eleted file, or (a)bort? m

Normal merge conflict for 'testem.json':
  {local}: modified file
  {remote}: modified file
Hit return to start merge resolution tool (vimdiff): 
4 files to edit

Deleted merge conflict for 'tests/.jshintrc':
  {local}: modified file
  {remote}: deleted
Use (m)odified or (d)eleted file, or (a)bort? m
  git-diff-apply git --git-dir="/var/folders/x0/c5k5kgt171xcffrn39lsk69c0000gn/T/tmp-5564t4aPqd2QzQsN/.git" rev-parse v2.12.3 +31s
  git-diff-apply d26802a39339b024e8bb9ecd76ac315bd3dd46e2
  git-diff-apply  +16ms
  git-diff-apply git --git-dir="/var/folders/x0/c5k5kgt171xcffrn39lsk69c0000gn/T/tmp-5564t4aPqd2QzQsN/.git" --work-tree="/var/folders/x0/c5k5kgt171xcffrn39lsk69c0000gn/T/tmp-5564t4aPqd2QzQsN" checkout d26802a39339b024e8bb9ecd76ac315bd3dd46e2 +0ms
Previous HEAD position was 4baef6c... 2.11.1
HEAD is now at d26802a... 2.12.3
  git-diff-apply  +21ms
TypeError: Invalid comparator: ember-cli/loader.js
    at Comparator.parse (/Users/alex/.config/yarn/global/node_modules/semver/semver.js:678:11)
    at new Comparator (/Users/alex/.config/yarn/global/node_modules/semver/semver.js:662:8)
    at /Users/alex/.config/yarn/global/node_modules/semver/semver.js:828:12
    at Array.map (native)
    at Range.parseRange (/Users/alex/.config/yarn/global/node_modules/semver/semver.js:827:13)
    at Range.<anonymous> (/Users/alex/.config/yarn/global/node_modules/semver/semver.js:769:17)
    at Array.map (native)
    at new Range (/Users/alex/.config/yarn/global/node_modules/semver/semver.js:768:40)
    at minVersion (/Users/alex/.config/yarn/global/node_modules/three-way-merger/lib/merge.js:14:11)
    at /Users/alex/.config/yarn/global/node_modules/three-way-merger/lib/merge.js:57:19

ember-cli blueprints do not pin version of ember-cli but we should

In package.json

You will see "ember-cli": "~2.17.0" in devDependencies hash for example.

Users of this addon probably do not want to upgrade ember-cli automatically with npm install or yarn upgrade.

We should automatically remove the ~.

Perhaps instead get a message that a new version is available and you can run ember update. (not sure under what conditions exactly, we can discuss.)

This does not apply to ember-source or ember-data.

add --purge option

This would be similar to git rm -rf * && ember init. Sometimes you might have missed something that happened in the past that doesn't show up on newer diffs (ex. file removed).

An in-range update of ember-cli is breaking the build 🚨

Version 2.15.0 of ember-cli just got published.

Branch Build failing 🚨
Dependency ember-cli
Current Version 2.14.2
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As ember-cli is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this 💪

Status Details
  • continuous-integration/appveyor/branch AppVeyor build succeeded Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details

Release Notes Neverending Puppy Marathon

Setup

npm install -g [email protected] -- Install new global ember-cli

Project Update

  1. rm -rf node_modules dist tmp -- Delete temporary development folders.
  2. npm install --save-dev [email protected] -- Update project's package.json to use latest version.
  3. npm install -- Reinstall NPM dependencies.
  4. ember init -- This runs the new project blueprint on your projects directory. Please follow the prompts, and review all changes (tip: you can see a diff by pressing d). The most common source of upgrade pain is missing changes in this step.

Changelog

The following changes are required if you are upgrading from the previous
version:

Community Contributions

Thank you to all who took the time to contribute!

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Handle promise rejection if git-diff-apply throws

Mentioned here #64 (comment)

Even though everything is working as expected, we don't swallow the promise rejection from git-diff-apply when this happens:

(node:9836) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): You must start with a clean working directory.

Unable to run `ember update`

After installing the addon globally and then running ember update, I get the error The specified command update is invalid.

Additionally, after installing the addon within an Ember project directory (with ember install ember-cli-update) followed by running ember-cli-update, I get the error: (node:9836) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): You must start with a clean working directory.

Below is my console history while installing the addon globally and then trying to run ember update.

C:\Users\jdetels
λ npm -v
5.3.0

C:\Users\jdetels
λ npm install -g ember-cli-update
C:\Users\jdetels\AppData\Roaming\npm\ember-cli-update -> C:\Users\jdetels\AppData\Roaming\npm\node_modules\ember-cli-update\bin\ember-cli-update.js
+ [email protected]
added 77 packages in 11.411s

C:\Users\jdetels
λ ember -v
ember-cli: 2.14.1
node: 6.11.2
os: win32 x64

C:\Users\jdetels
λ ember update
The specified command update is invalid. For available options, see `ember help`.

strip off semver version hint

For a version of "^2.7.0", semver will say you are already on latest version. Stripping off the version hint will be a better guess at what version to start at.

cc @rwjblue

Error in console: UnhandledPromiseRejectionWarning

When ember-cli-update is run from the ember project folder, the following error is thrown:

UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): You must start with a clean working directory

node version: 6.11.1

yarn projects don't get clean diffs

the output repos only record the standard blueprint, not the yarn variant or any others. Projects using a variant will get weird conflicts.

I don't know if there is a sane way to fix this.

An in-range update of ember-cli-addon-tests is breaking the build 🚨

Version 0.9.2 of ember-cli-addon-tests just got published.

Branch Build failing 🚨
Dependency ember-cli-addon-tests
Current Version 0.9.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As ember-cli-addon-tests is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this 💪

Status Details
  • continuous-integration/travis-ci/push The Travis CI build is in progress Details
  • continuous-integration/appveyor/branch AppVeyor build failed Details

Commits

The new version differs by 2 commits.

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Doesn't work when ember project is subfolder

When I run ember update I get this output:

Cloning into bare repository '/var/folders/3s/kt39dyns0ngc361qvkxznlfw0000gn/T/tmp-138173bpZj5aJOoJI/.git'...
Switched to a new branch 'd3bc36e0-939f-11e7-bc82-799873862e5d'
Note: checking out 'ac5673b56583dfee01ceae3783467e5ca4dac25c'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at ac5673b... 2.7.0
File: /bin/sh
Command failed: git commit -m "diff"

Error: Command failed: git commit -m "diff"

    at checkExecSyncError (child_process.js:472:13)
    at Object.execSync (child_process.js:512:13)
    at run (/<path-to-app>/node_modules/ember-cli-update/node_modules/git-diff-apply/src/run.js:8:19)
    at ncp.then.err (/<path-to-app>/node_modules/ember-cli-update/node_modules/git-diff-apply/src/index.js:62:5)
    at process._tickCallback (internal/process/next_tick.js:109:7)

Oddly it can't commit this for some reason, but there is another commit preceding the error.

I can only think of two possible reasons for the failed update at this moment:

  1. Our project is at Ember 2.7 right now. Perhaps it's too old for the tool to work with?
  2. The app is inside a directory in a bigger git repository, which might prevent the underlying tools to do their git magic?

It also fails if I run the global ember-cli-update with the same error and slightly bigger output containing information about the system.

Please let me know if this is a valid issue and if I can assist further.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.