chore: fix firebase.json; check-deploy to active firebase project
Remove project name from firebase.json, since that is deprecated. The `check-deploy` gulp task now checks that an active project is defined at the start of `check-deploy`. To set the active project use: `firebase use <project-or-alias-name>`. Fixes #2576
This commit is contained in:
parent
83faca0f94
commit
e813fb4716
|
@ -1,6 +1,8 @@
|
|||
{
|
||||
"projects": {
|
||||
"live": "angular-io",
|
||||
"ngdocsdev": "ngdocsdev"
|
||||
"ngdocsdev": "ngdocsdev",
|
||||
"kw-dev": "kw-angular-io",
|
||||
"dev": "angular-io-dev"
|
||||
}
|
||||
}
|
147
firebase.json
147
firebase.json
|
@ -1,75 +1,76 @@
|
|||
{
|
||||
"firebase": "angular-io",
|
||||
"public": "www",
|
||||
"rewrites": [
|
||||
{
|
||||
"source": "/docs/dart/latest/testing",
|
||||
"destination":"/docs/dart/latest/guide/testing.html"
|
||||
},
|
||||
{
|
||||
"source": "/docs/dart/latest/tutorial",
|
||||
"destination": "/docs/dart/latest/index.html"
|
||||
},
|
||||
{
|
||||
"source": "/docs/js/latest/testing",
|
||||
"destination": "/docs/js/latest/guide/testing.html"
|
||||
},
|
||||
{
|
||||
"source": "/docs/js/latest/tutorial",
|
||||
"destination": "/docs/js/latest/index.html"
|
||||
},
|
||||
{
|
||||
"source": "/docs/ts/latest/guide/setup.html",
|
||||
"destination": "/docs/ts/latest/index.html"
|
||||
},
|
||||
{
|
||||
"source": "/docs/ts/latest/testing",
|
||||
"destination": "/docs/ts/latest/guide/testing.html"
|
||||
},
|
||||
{
|
||||
"source": "/cheatsheet",
|
||||
"destination": "/docs/ts/latest/guide/cheatsheet.html"
|
||||
},
|
||||
{
|
||||
"source": "/cheatsheet.json",
|
||||
"destination": "/docs/ts/latest/guide/cheatsheet.json"
|
||||
},
|
||||
{
|
||||
"source": "/AngularCheatSheet_Letter.pdf",
|
||||
"destination": "/docs/ts/latest/guide/AngularCheatSheet_Letter.pdf"
|
||||
},
|
||||
{
|
||||
"source": "/AngularCheatSheet_Poster.pdf",
|
||||
"destination": "/docs/ts/latest/guide/AngularCheatSheet_Poster.pdf"
|
||||
},
|
||||
{
|
||||
"source": "/cardboard",
|
||||
"destination": "/cardboard/index.html"
|
||||
},
|
||||
{
|
||||
"source": "/license",
|
||||
"destination": "/license.txt"
|
||||
},
|
||||
{
|
||||
"source": "/events",
|
||||
"destination": "/events.html"
|
||||
},
|
||||
{
|
||||
"source": "/survey",
|
||||
"destination": "/survey.html"
|
||||
},
|
||||
{
|
||||
"source": "/dart",
|
||||
"destination": "/docs/dart/latest/index.html"
|
||||
},
|
||||
{
|
||||
"source": "/styleguide",
|
||||
"destination": "/docs/ts/latest/guide/style-guide.html"
|
||||
}
|
||||
],
|
||||
"ignore": [
|
||||
"firebase.json",
|
||||
"**/.*",
|
||||
"**/node_modules/**"
|
||||
]
|
||||
"hosting": {
|
||||
"public": "www",
|
||||
"rewrites": [
|
||||
{
|
||||
"source": "/docs/dart/latest/testing",
|
||||
"destination": "/docs/dart/latest/guide/testing.html"
|
||||
},
|
||||
{
|
||||
"source": "/docs/dart/latest/tutorial",
|
||||
"destination": "/docs/dart/latest/index.html"
|
||||
},
|
||||
{
|
||||
"source": "/docs/js/latest/testing",
|
||||
"destination": "/docs/js/latest/guide/testing.html"
|
||||
},
|
||||
{
|
||||
"source": "/docs/js/latest/tutorial",
|
||||
"destination": "/docs/js/latest/index.html"
|
||||
},
|
||||
{
|
||||
"source": "/docs/ts/latest/guide/setup.html",
|
||||
"destination": "/docs/ts/latest/index.html"
|
||||
},
|
||||
{
|
||||
"source": "/docs/ts/latest/testing",
|
||||
"destination": "/docs/ts/latest/guide/testing.html"
|
||||
},
|
||||
{
|
||||
"source": "/cheatsheet",
|
||||
"destination": "/docs/ts/latest/guide/cheatsheet.html"
|
||||
},
|
||||
{
|
||||
"source": "/cheatsheet.json",
|
||||
"destination": "/docs/ts/latest/guide/cheatsheet.json"
|
||||
},
|
||||
{
|
||||
"source": "/AngularCheatSheet_Letter.pdf",
|
||||
"destination": "/docs/ts/latest/guide/AngularCheatSheet_Letter.pdf"
|
||||
},
|
||||
{
|
||||
"source": "/AngularCheatSheet_Poster.pdf",
|
||||
"destination": "/docs/ts/latest/guide/AngularCheatSheet_Poster.pdf"
|
||||
},
|
||||
{
|
||||
"source": "/cardboard",
|
||||
"destination": "/cardboard/index.html"
|
||||
},
|
||||
{
|
||||
"source": "/license",
|
||||
"destination": "/license.txt"
|
||||
},
|
||||
{
|
||||
"source": "/events",
|
||||
"destination": "/events.html"
|
||||
},
|
||||
{
|
||||
"source": "/survey",
|
||||
"destination": "/survey.html"
|
||||
},
|
||||
{
|
||||
"source": "/dart",
|
||||
"destination": "/docs/dart/latest/index.html"
|
||||
},
|
||||
{
|
||||
"source": "/styleguide",
|
||||
"destination": "/docs/ts/latest/guide/style-guide.html"
|
||||
}
|
||||
],
|
||||
"ignore": [
|
||||
"firebase.json",
|
||||
"**/.*",
|
||||
"**/node_modules/**"
|
||||
]
|
||||
}
|
||||
}
|
21
gulpfile.js
21
gulpfile.js
|
@ -14,6 +14,7 @@ var fsExtra = require('fs-extra');
|
|||
var fs = fsExtra;
|
||||
var exec = require('child_process').exec;
|
||||
var execPromise = Q.denodeify(exec);
|
||||
var execSync = require('child_process').execSync;
|
||||
// cross platform version of spawn that also works on windows.
|
||||
var xSpawn = require('cross-spawn');
|
||||
var prompt = require('prompt');
|
||||
|
@ -744,7 +745,7 @@ gulp.task('build-compile', ['build-docs'], function() {
|
|||
return harpCompile();
|
||||
});
|
||||
|
||||
gulp.task('check-deploy', ['build-docs'], function() {
|
||||
gulp.task('check-deploy', ['firebase-use-proj-check', 'build-docs'], () => {
|
||||
return harpCompile().then(function() {
|
||||
gutil.log('compile ok');
|
||||
gutil.log('running live server ...');
|
||||
|
@ -753,7 +754,7 @@ gulp.task('check-deploy', ['build-docs'], function() {
|
|||
}).then(function(shouldDeploy) {
|
||||
if (shouldDeploy) {
|
||||
gutil.log('deploying...');
|
||||
return execPromise('firebase deploy');
|
||||
return execPromise(`firebase deploy -p ${WWW}`);
|
||||
} else {
|
||||
return ['Not deploying'];
|
||||
}
|
||||
|
@ -764,6 +765,17 @@ gulp.task('check-deploy', ['build-docs'], function() {
|
|||
});
|
||||
});
|
||||
|
||||
gulp.task('firebase-use-proj-check', cb => {
|
||||
try {
|
||||
execSync('firebase use');
|
||||
} catch (e) {
|
||||
// Rerun command so user gets project + alias info
|
||||
execSync('firebase use', {stdio:[0,1,2]});
|
||||
throw `\nAborting: no firebase project selected. Run:\n\n firebase use <project-or-alias-name>\n\n`;
|
||||
}
|
||||
return cb();
|
||||
});
|
||||
|
||||
gulp.task('test-api-builder', function (cb) {
|
||||
execCommands(['npm run test-api-builder'], {}, cb);
|
||||
});
|
||||
|
@ -1071,7 +1083,6 @@ function backupApiHtmlFilesExist(folderName) {
|
|||
}
|
||||
|
||||
function harpJsonSetJade2NgTo(v) {
|
||||
const execSync = require('child_process').execSync;
|
||||
const harpJsonPath = path.join(ANGULAR_IO_PROJECT_PATH, 'harp.json');
|
||||
execSync(`perl -pi -e 's/("jade2ng": *)\\w+/$1${v}/' ${harpJsonPath}`);
|
||||
const harpJson = require(harpJsonPath);
|
||||
|
@ -1204,10 +1215,12 @@ function watchAndSync(options, cb) {
|
|||
|
||||
// returns a promise;
|
||||
function askDeploy() {
|
||||
// Show user what the currently active firebase project is:
|
||||
execSync('firebase use', {stdio:[0,1,2]});
|
||||
prompt.start();
|
||||
var schema = {
|
||||
name: 'shouldDeploy',
|
||||
description: 'Deploy to Firebase? (y/n)',
|
||||
description: `Deploy ${WWW} to firebase? (y/n)`,
|
||||
type: 'string',
|
||||
pattern: /Y|N|y|n/,
|
||||
message: "Respond with either a 'y' or 'n'",
|
||||
|
|
Loading…
Reference in New Issue