Skip to content

Instantly share code, notes, and snippets.

@chrismccord
Last active January 28, 2016 03:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save chrismccord/d5bc5f8e38c8f76cad33 to your computer and use it in GitHub Desktop.
Save chrismccord/d5bc5f8e38c8f76cad33 to your computer and use it in GitHub Desktop.
Phoenix 1.1.1 to 1.1.2 upgrade instructions

Phoenix 1.1.1 to 1.1.2 upgrade instructions

Optional upgrade for new brunch features

Update your phoenix deps

def deps do
  [{:phoenix, "~> 1.1.2"},
  ...]
end

Now, update your phoenix deps to grab the latest minor releases:

$ mix deps.update phoenix phoenix_html phoenix_live_reload

Update your package.json

(for umbrellas the file prefix will need file:../../deps/)

{
  "repository": {
  },
  "dependencies": {
    "babel-brunch": "^6.0.0",
    "brunch": "^2.1.1",
    "clean-css-brunch": ">= 1.0 < 1.8",
    "css-brunch": ">= 1.0 < 1.8",
    "javascript-brunch": ">= 1.0 < 1.8",
    "uglify-js-brunch": ">= 1.0 < 1.8",
    "phoenix": "file:deps/phoenix",
    "phoenix_html": "file:deps/phoenix_html"
  }
}

And run $ npm install to bring in the new node deps

Update you brunch-config.js:

Remove phoenix and phoenix_html from your watched configuration:

  paths: {
    // Dependencies and current project directories to watch
    watched: [
-     "deps/phoenix/web/static",
-     "deps/phoenix_html/web/static",
      "web/static",
      "test/static"
    ],

    // Where to compile files to
    public: "priv/static"
  },

Add npm.whitelist to your npm config:

  npm: {
    enabled: true,
+   whitelist: ["phoenix", "phoenix_html"]
  }

Update your js imports

- import "deps/phoenix_html/web/static/js/phoenix_html"
+ import "phoenix_html"

- import {Socket} from "deps/phoenix/web/static/js/phoenix"
+ import {Socket} from "phoenix"

Test it

$ mix phoeinix.server
07 Jan 16:16:59 - info: compiled 5 files into 2 files, copied 3 in 1.2 sec
@kyledecot
Copy link

Under "Test it" you have a typo. It should say:

$ mix phoenix.server

@LeoNogueira
Copy link

Perfect ! 👍

@rheckart
Copy link

There may be an additional step necessary. I had to install babel-preset-es2015 to prevent an app.js compile error.

@pedrosnk
Copy link

thanks @rheckart I had the same issue

@raholland79
Copy link

mix phoeinix.server should be mix phoenix.server :)

@jeffweiss
Copy link

I also had the babel-preset-es2015 issue and was able to fix it by adding this section to my package.json:

+  "devDependencies": {
+    "babel-preset-es2015": "^6.3.13"
+  }

@robotarmy
Copy link

In order to use npm packages the brunch_config will need to be setup to include /^node_modules/ ie:

    javascripts: {
      joinTo: {
        "js/app.js":     /^(web\/static\/js)/,
        "js/play.js":    /^(web\/static\/js-play)/, // minimal js for play session
        "js/vendor.js":  /^(web\/static\/vendor)|^(node_modules)/
      },
      order: {
        before: [
          'web/static/vendor/js/jquery-1.11.3.js'
        ]
      }

@ugifractal
Copy link

excelent....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment