Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function exit(message) {
console.error(`\n ${require('./chalk').get().red(figures.cross)} ${message}`);
process.exit(1); // eslint-disable-line unicorn/no-process-exit
}
console.log(
chalk.red(figures.cross +' Continuing with branch "' + match[0] + '" (--force)')
)
} else {
// No --force and not on master? -> error message
if (match[0] !== 'master') {
throw new Error(
chalk.red(figures.warning) +
chalk.red.bold(
' You are currently not on branch "master" but on "' + match[0] + '". This is not recommended!')
+ '\n Use --force to continue anyway.'
)
}
console.log(
chalk.green(figures.tick) +
chalk.dim(' You are on branch "master"')
)
}
// return current branch name and remote name
return {
current: match[0],
remote: match[1] ? match[1].trim().replace(/\0/g, '') : ''
}
})
}
return doc
}
// load the config
var env = process.env.NODE_ENV || 'development'
var defaultCfg = load('defaults')
var envCfg = load(env)
module.exports = extend(defaultCfg, envCfg, { env })
// some warnings
if (!module.exports.csrf) {
console.log(figures.warning, 'WARNING: CSRF is DISABLED')
}
if (!module.exports.stripe) {
console.log(figures.warning, 'WARNING: Stripe payments are DISABLED')
}
// Check if types are already installed
if (alreadyInstalledTypes.includes('@types/' + dependency)) {
console.log(chalk.yellow(figures.play, `Types for ${dependencyString} already installed. Skipping...`));
continue;
}
// Check for included types
let pkgPath = path.join(cwd, 'node_modules', dependency, 'package.json');
if (fs.existsSync(pkgPath)) {
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
if (pkg.types || pkg.typings) {
console.log(chalk.yellow(figures.warning, `Module ${dependencyString} includes own types. Skipping...`));
continue;
}
}
// Check if types are available
((dependency) => {
request('https://www.npmjs.com/package/@types/' + dependency, (err, res, body) => {
if (res.statusCode == 200) {
exec(`${tool.command} @types/${dependency}`, (err, stdout, stderr) => {
if (!err) {
console.log(chalk.green(figures.tick, `@types/${dependencyString} installed successfully!`));
}
});
} else {
archive.replicationStreams.forEach(stream => stream.destroy()) // stop all active replications
archive.replicationStreams.length = 0
archive.isSwarming = false
this.swarm.leave(archive.discoveryKey)
}
// done?
if (opts.download === false && opts.upload === false) {
if (wasSwarming) {
console.log(figures.info, 'Unswarming archive', datEncoding.toStr(archive.key))
}
return
}
// join the swarm
debounceConsole.log(`${figures.info} Swarming archive`, {timeout: 250, max: 1e3}, datEncoding.toStr(archive.key))
archive.isSwarming = true
archive.swarmOpts = opts
this.swarm.listen(archive.discoveryKey, 0, () => {})
}
'use strict';
const path = require('path');
const figures = require('figures');
const chalk = require('../chalk').get();
const SEPERATOR = ' ' + chalk.gray.dim(figures.pointerSmall) + ' ';
module.exports = (base, file, title) => {
const prefix = file
// Only replace base if it is found at the start of the path
.replace(base, (match, offset) => offset === 0 ? '' : match)
.replace(/\.spec/, '')
.replace(/\.test/, '')
.replace(/test-/g, '')
.replace(/\.js$/, '')
.split(path.sep)
.filter(p => p !== '__tests__')
.join(SEPERATOR);
return prefix + SEPERATOR + title;
};
nuke('archives')
for (let archive of await dbs.archives.list()) {
archive.isFeatured = await dbs.featuredArchives.has(archive.key)
insert('archives', toArchiveRecord(archive))
}
console.log(figures.pointerSmall, 'Users->Archives...')
nuke('users_archives')
for (let userArchive of usersArchives) {
insert('users_archives', toUserArchiveRecord(userArchive))
}
console.log(figures.pointerSmall, 'Reports...')
nuke('reports')
for (let report of await dbs.reports.list()) {
insert('reports', toReportRecord(report))
}
console.log(figures.pointerSmall, 'Activity...')
nuke('activity')
for (let act of await dbs.activity.listGlobalEvents()) {
insert('activity', toActivityRecord(act))
}
// close output stream
await new Promise((resolve, reject) => {
ws.end((err) => {
if (err) reject(err)
else resolve()
})
})
// close the leveldb
await new Promise((resolve, reject) => {
levelInstance.close((err) => {
renderError(error, entity) {
// If no argument, skip
if (!error || error === '') {
return
}
// Clear any existing content
process.stdout.write(ansiEscapes.eraseDown)
console.log() // eslint-disable-line
// Write Error
if (entity) {
entity = `${red(entity)} ${red(figures.pointerSmall)} ${red(`error:`)}`
console.log(` ${entity}`) // eslint-disable-line
} else {
console.log(` ${red('error:')}`) // eslint-disable-line
}
console.log(` `, error) // eslint-disable-line
// Put cursor to starting position for next view
process.stdout.write(ansiEscapes.cursorLeft)
}
module.exports = async function (config) {
console.log(figures.heart, 'Hello friend')
console.log(figures.pointerSmall, 'Instantiating backend')
addConfigHelpers(config)
var cloud = new Hypercloud(config)
cloud.version = packageJson.version
await cloud.setup()
cloud.loadAllArchives()
console.log(figures.pointerSmall, 'Instantiating server')
var app = express()
if (config.proxy) {
app.set('trust proxy', 'loopback')
}
app.cloud = cloud
app.config = config
app.approveDomains = approveDomains(config, cloud)
app.locals = {
session: false, // default session value
sessionUser: false,
errors: false, // common default value
// Using the stripe publishable key to identify whether or not to show pricing related information
// on any page
stripePK: config.stripe ? config.stripe.publishableKey : null,
appInfo: {
betterModuleName = betterModuleName
.replace( /\\/g, '/' )
.replace( './', '' )
.replace( 'multi ', '' );
// Add extra details about whether the currently processed module is an internal or external one
if ( betterModuleName.startsWith( 'node_modules' ) ) {
betterModuleName = `${ betterModuleName } ~ external`;
}
if ( betterModuleName.startsWith( 'src' ) ) {
betterModuleName = `${ betterModuleName } ~ internal`;
}
const [ betterModulesDone, betterAllModules ] = moduleProgress.split( '/' );
const moduleDetails = `${ betterModulesDone } of ${ betterAllModules } :: ${ betterModuleName }`;
logLines.push( chalk.grey( ` ${ figures.arrowRight } ${ moduleDetails }` ) );
}
} else if ( progress > 0.7 ) {
logLines.push( chalk.green( ` ${ figures.tick } Build modules` ) );
}
// STEP 3: OPTIMIZATION
if ( progress > 0.7 && progress < 0.95 ) {
// Skip if we jumped back a step, else update the step counter
if ( previousStep > 3 ) {
return;
}