mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
82c5cc38d5
Hello!
I was looking at the [`with-firebase-hosting`](/zeit/next.js/tree/canary/examples/with-firebase-hosting) example and was having some various issues running it:
* `npm run serve` will choke on windows because trying to set enviroment variables with `NODE_ENV=production`
* `npm run build-funcs` failing because of babeljs mismatches between `@babel/cli@^7.0.0-rc.1` and `next@^6.0.3`
* Not being able to deploy because `firebase-tools` being a deprecated version.
I remedied this and also improved some other factors:
* Use standard JSON formatting on `package.json` so that `npm install` doesn't cause changes on every run. (a83e930)
* Remove "prettier" as a devDependency as there is no use of it in the example and most other examples does not have it as a dependency. (6095663)
* Update all dependencies. The simple usecase in this example didn't really require any changes to the code. (ccde086)
* [`firebase-admin@6`](https://github.com/firebase/firebase-admin-node/releases/tag/v6.0.0)
* [`firebase-functions@2`](https://github.com/firebase/firebase-functions/releases/tag/v2.0.0)
* [`firebase-tools@4`](https://github.com/firebase/firebase-tools/releases/tag/v4.0.0)
* [`firebase-tools@5`](https://github.com/firebase/firebase-tools/releases/tag/v5.0.0)
* [`firebase-tools@6`](https://github.com/firebase/firebase-tools/releases/tag/v6.0.0)
* Make `npm run serve` runnable on windows using [`cross-env`](https://www.npmjs.com/package/cross-env). (b20dda7)
* Update `.gitignore` to ignore firebase cache (bf761b7)
* Remove `src/app/.babelrc` that seems to have been added as a previous bugfix but doesn't seem to do anything currently. (1b02045)
* Remove point from [`README.md`](https://github.com/zeit/next.js/blob/canary/examples/with-firebase-hosting/README.md) that was mentioning any `predeploy` hooks in `firebase.json` as they were removed in 4f4b7a1bce
. (5636d9f)
* Use the possibility added by upgrading `firebase-tools` to [`>=4.0.0`](https://github.com/firebase/firebase-tools/releases/tag/v4.0.0) and `firebase-functions` to [`>=2.0.0`](https://github.com/firebase/firebase-functions/releases/tag/v2.0.0) to make the deployable functions use node 8 rather than node 6. Also make babel compile with node 8 as target for less polyfills etc. (c954cc2)
* Added comment to [`README.md`](https://github.com/zeit/next.js/blob/canary/examples/with-firebase-hosting/README.md) explaining how firebase deploys to node 8 and that babel will compile code for node 8. (d8b2e65, 91953dc)
This was tested to `serve` on windows, linux(WSL) and on mac. Deploy was tested on linux(WSL) and mac.
---
This PR is a based on #5806 with correct base.
---
🔔 @jthegedus @timneutkens
36 lines
1.3 KiB
JSON
36 lines
1.3 KiB
JSON
{
|
|
"name": "with-firebase-hosting",
|
|
"version": "4.0.1",
|
|
"description": "Host Next.js SSR app on Firebase Cloud Functions with Firebase Hosting redirects.",
|
|
"engines": {
|
|
"node": "8"
|
|
},
|
|
"scripts": {
|
|
"dev": "next \"src/app/\"",
|
|
"preserve": "npm run build-public && npm run build-funcs && npm run build-app && npm run copy-deps && npm run install-deps",
|
|
"serve": "cross-env NODE_ENV=production firebase serve",
|
|
"predeploy": "npm run build-public && npm run build-funcs && npm run build-app && npm run copy-deps",
|
|
"deploy": "firebase deploy",
|
|
"clean": "rimraf \"dist/functions/**\" && rimraf \"dist/public\"",
|
|
"build-public": "cpx \"src/public/**/*.*\" \"dist/public\" -C",
|
|
"build-funcs": "babel \"src/functions\" --out-dir \"dist/functions\"",
|
|
"build-app": "next build \"src/app/\"",
|
|
"copy-deps": "cpx \"*{package.json,package-lock.json,yarn.lock}\" \"dist/functions\" -C",
|
|
"install-deps": "cd \"dist/functions\" && npm i"
|
|
},
|
|
"dependencies": {
|
|
"firebase-admin": "^6.3.0",
|
|
"firebase-functions": "^2.1.0",
|
|
"next": "^7.0.0",
|
|
"react": "^16.6.0",
|
|
"react-dom": "^16.6.0"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/cli": "^7.2.0",
|
|
"cpx": "^1.5.0",
|
|
"cross-env": "^5.2.0",
|
|
"firebase-tools": "^6.1.0",
|
|
"rimraf": "^2.6.0"
|
|
}
|
|
}
|