Deployed the page to Github Pages.

This commit is contained in:
Batuhan Berk Başoğlu 2024-11-03 21:30:09 -05:00
parent 1d79754e93
commit 2c89899458
Signed by: batuhan-basoglu
SSH key fingerprint: SHA256:kEsnuHX+qbwhxSAXPUQ4ox535wFHu/hIRaa53FzxRpo
62797 changed files with 6551425 additions and 15279 deletions

92
node_modules/firebase-tools/lib/api.js generated vendored Normal file
View file

@ -0,0 +1,92 @@
var request = require('request'),
url = require('url'),
querystring = require('querystring');
var api = {
realtimeUrl: 'https://firebaseio.com',
adminUrl: 'https://admin.firebase.com',
uploadUrl: 'https://hosting.firebase.com',
hostingUrl: 'https://firebaseapp.com',
request: function(method, resource, data, authenticate, callback) {
// Runtime fetch of Auth singleton to prevent circular module dependencies
var auth = require('./auth');
if ((typeof(data) === 'undefined') || !data) {
data = {};
}
if ((typeof(authenticate) !== 'undefined') && (authenticate)) {
data.token = auth.token;
}
var validMethods = ['GET', 'PUT', 'POST', 'DELETE'];
if (validMethods.indexOf(method) < 0) {
method = 'GET';
}
var options = {
method: method,
json: true
};
var dataString = '';
if (method === 'GET') {
dataString = querystring.stringify(data);
var separator = resource.match(/\?/) ? '&' : '?';
resource += separator + dataString;
} else if (Object.keys(data).length > 0) {
options.body = JSON.stringify(data, null, 2);
}
options.url = this.adminUrl + resource;
request(options, function(err, response, body) {
if (err) {
console.log('SERVER ERROR'.red + ' - Please try again');
process.exit(1);
}
setTimeout(callback, 0, response.statusCode, body);
});
},
setRules: function(firebase, rules, authToken, callback) {
request({
url: api.realtimeUrl.replace(/\/\//, '//' + firebase + '.') + '/.settings/rules.json?auth=' + authToken,
method: 'PUT',
headers: {
'Content-Type': 'application/json'
},
body: rules
}, function(err, response, body) {
if (err) {
console.log('SERVER ERROR'.red + ' - Please try again');
process.exit(1);
}
setTimeout(callback, 0, response.statusCode, body && JSON.parse(body));
});
}
};
function possiblyOverride(apiVariable, envVariable) {
if (typeof(process.env[envVariable]) !== 'undefined') {
var urlParts = null;
try {
urlParts = url.parse(process.env[envVariable]);
} catch (err) {
urlParts = null;
}
if (urlParts) {
api[apiVariable] = process.env[envVariable];
}
}
}
possiblyOverride('adminUrl', 'FIREBASE_ADMIN_URL');
possiblyOverride('hostingUrl', 'FIREBASE_HOSTING_URL');
possiblyOverride('realtimeUrl', 'FIREBASE_REALTIME_URL');
possiblyOverride('uploadUrl', 'FIREBASE_UPLOAD_URL');
module.exports = api;

329
node_modules/firebase-tools/lib/auth.js generated vendored Normal file
View file

@ -0,0 +1,329 @@
var prompt = require('prompt'),
fs = require('fs'),
path = require('path'),
api = require('./api'),
util = require('util'),
chalk = require('chalk'),
_when = require('when');
var auth = {
configFile: path.join(
(process.env.HOME || process.env.USERPROFILE),
'.firebaserc'
),
maxRetries: 3,
requireLogin: function(argv, callback) {
var that = this;
if (argv.email && argv.password) {
this._attemptLogin(argv, this.maxRetries, callback);
} else if ((this.email.length === 0) || (this.token.length === 0)) {
console.log('Please sign into your Firebase account to continue...');
this._attemptLogin(argv, this.maxRetries, callback);
} else {
this._validate(function(err) {
if (err) {
console.log('Please sign into your Firebase account to continue...');
that._attemptLogin(argv, that.maxRetries, callback);
} else {
setTimeout(callback, 0, null, that.email, that.token);
}
});
}
},
_validate: function(callback) {
api.request(
'GET',
'/token/validate',
{
cli: require('./firebase').version
},
true,
function(statusCode, response) {
if (typeof(callback) === 'function') {
if (typeof(response.error) !== 'undefined') {
console.log(chalk.red(response.error.message) + ' - Please update to at ' +
'least v' + response.minCLI + ' by running ' +
chalk.cyan('npm update -g ' + require('./firebase').name));
process.exit(1);
} else if (response.valid) {
setTimeout(callback, 0, null);
} else {
setTimeout(callback, 0, new Error('Invalid Access Token'));
}
}
}
);
},
login: function(argv, callback) {
this._attemptLogin(argv, this.maxRetries, callback);
},
_attemptLogin: function(argv, tries, callback) {
var that = this;
if (tries > 0) {
if (tries !== this.maxRetries) {
if (argv.silent) {
console.log(chalk.red('Input Error') + ' - Email or password incorrect');
process.exit(1);
}
console.log('Email or password incorrect, please try again');
delete prompt.override.email;
delete prompt.override.password;
}
this._loginRequest(argv, function(err, email, token) {
if (err) {
that._attemptLogin(argv, tries - 1, callback);
} else {
setTimeout(callback, 0, null, email, token);
}
});
} else {
console.log(chalk.red('Login Unsuccessful'));
process.exit(1);
}
},
_loginRequest: function(argv, callback) {
var that = this,
schema = [
{
name: 'email',
description: 'Email:',
pattern: /@/,
message: 'Must be a valid email address',
required: true,
type: 'string'
},{
name: 'password',
description: 'Password:',
hidden: true,
required: true,
type: 'string'
}
];
if (this.email.length > 0) {
schema[0].default = this.email;
}
if (argv.silent) {
for (var i in schema) {
var item = schema[i];
if (!prompt.override[item.name] || (item.pattern && !item.pattern.test(prompt.override[item.name]))) {
console.log(chalk.red('Input Error') + ' - Not enough or invalid parameters specified while in silent mode');
console.log('Required ' + chalk.bold(item.name) + ' parameter missing or invalid');
process.exit(1);
}
}
}
prompt.get(schema, function(err, result) {
if (err) {
if (typeof(callback) === 'function') {
setTimeout(callback, 0, new Error('Error Getting User Input'));
}
return;
}
that.email = result.email;
that._authenticate.bind(that)(result.email, result.password, callback);
});
},
_authenticate: function(email, password, callback) {
var data = {
email: email,
password: password,
rememberMe: true,
cli: require('./firebase').version
};
api.request(
'GET',
'/account/login',
data,
false,
this._handleLogin.bind(this, callback)
);
},
_handleLogin: function(callback, statusCode, response) {
var token = response.adminToken;
if (token) {
this.token = token;
this.saveConfig(callback);
} else if (typeof(response.error) !== 'undefined') {
if (typeof(response.minCLI) === 'undefined') {
if (typeof(callback) === 'function') {
setTimeout(callback, 0, new Error('Email or Password Invalid'));
}
} else {
console.log(chalk.red(response.error.message) + ' - Please update to at ' +
'least v' + response.minCLI + ' by running ' +
chalk.cyan('npm update -g ' + require('./firebase').name));
process.exit(1);
}
}
},
saveConfig: function(callback) {
var data = {
email: this.email,
token: this.token
};
var dataString = JSON.stringify(data, null, 2) + '\n';
try {
fs.writeFileSync(this.configFile, dataString);
} catch (err) {
if (typeof(callback) === 'function') {
setTimeout(callback, 0, new Error('Could Not Save Settings'));
}
return;
}
if (typeof(callback) === 'function') {
setTimeout(callback, 0, null, this.email, this.token);
}
},
logout: function(deleteSettings, callback) {
var that = this;
this._invalidateToken(function(err) {
if (err) {
setTimeout(callback, 0, err);
}
if (deleteSettings) {
try {
fs.unlinkSync(that.configFile);
} catch (e) {
setTimeout(callback, 0, e);
return;
}
setTimeout(callback, 0, null);
} else {
that.token = '';
that.saveConfig(callback);
}
});
},
_invalidateToken: function(callback) {
if (this.token.length > 0) {
var url = '/account/token';
api.request('DELETE', url, {}, true, function(statusCode, response) {
setTimeout(callback, 0, null);
});
} else {
if (typeof(callback) === 'function') {
setTimeout(callback, 0, null);
}
}
},
checkCanAccess: function(firebase, callback) {
var url = '/firebase/' + firebase + '/token';
api.request('GET', url, {}, true, function(statusCode, response) {
if (!response.error) {
setTimeout(callback, 0, null, response);
} else {
setTimeout(callback, 0, new Error('Permission Denied'));
}
});
},
updateRules: function(firebase, authToken, rules, callback) {
var rulesString;
if (rules) {
if (!fs.existsSync(rules)) {
console.log(chalk.red('Security Rules Error') + ' - specified security' +
' rules file does not exist');
process.exit(1);
}
try {
rulesString = fs.readFileSync(rules, 'utf8');
} catch (err) {
console.log(chalk.red('Security Rules Error') + ' - couldn\'t read security ' +
'rules');
process.exit(1);
}
if (rulesString.length === 0) {
console.log(chalk.red('Security Rules Error') + ' - couldn\'t read security ' +
'rules');
process.exit(1);
}
console.log('Updating security rules...');
api.setRules(firebase, rulesString, authToken, callback);
} else {
setTimeout(callback, 0, 200, {});
}
},
getFirebases: function(callback) {
api.request('GET', '/account', {}, true, function(statusCode, response) {
if (typeof(response.firebases) !== 'undefined') {
var firebases = [];
for (var firebase in response.firebases) {
if (response.firebases.hasOwnProperty(firebase)) {
firebases.push(firebase);
}
}
if (typeof(callback) !== 'undefined') {
setTimeout(callback, 0, null, firebases);
}
} else {
if (typeof(callback) !== 'undefined') {
setTimeout(callback, 0, new Error('Could not get list of Firebases'));
}
}
});
},
getConfig: function() {
var config = {};
var data = fs.readFileSync(this.configFile, 'utf8');
try {
config = JSON.parse(data);
} catch (e) {}
return config;
},
listFirebases: function(argv) {
return _when.promise(function(resolve, reject, notify) {
auth.requireLogin(argv, function(err) {
if (err) {
var error = new Error('Login Unsuccessful');
error.type = 'LOGIN';
reject(error);
} else {
auth.getFirebases(function(err, firebases) {
if (err) {
var error = new Error('Could Not List Firebases');
error.type = 'ACCOUNT';
reject(error);
} else {
resolve({
firebases: firebases,
showFirebases: function() {
console.log(chalk.yellow('----------------------------------------------------'));
console.log(chalk.yellow(util.format('Your Firebase Apps %s', auth.email)));
console.log(chalk.yellow('----------------------------------------------------'));
console.log(firebases.join('\n'));
console.log(chalk.yellow('----------------------------------------------------'));
}
});
}
});
}
});
});
}
};
function initAuth() {
try {
var config = auth.getConfig();
if (typeof(config.token) === 'string') {
auth.token = config.token;
} else {
auth.token = '';
}
if (typeof(config.email) === 'string') {
auth.email = config.email;
} else {
auth.email = '';
}
} catch (err) {
auth.token = '';
auth.email = '';
}
}
initAuth();
module.exports = auth;