Skip to content

Commit

Permalink
fix: Improve the setup workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
Marco Ris committed May 20, 2021
1 parent 2bb7d11 commit d2b164b
Show file tree
Hide file tree
Showing 4 changed files with 73 additions and 72 deletions.
66 changes: 0 additions & 66 deletions gulp/setconfig.js

This file was deleted.

67 changes: 67 additions & 0 deletions gulp/setup.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
import {src, dest} from 'gulp';
import replace from 'gulp-replace';
import run from 'gulp-run';

import yargs from 'yargs';
import fs from 'fs';

require('dotenv').config();

// Setup the wp-config.php for local, stage or production
const setup = (done) => {
if (fs.existsSync('.env')) {
var dbname = process.env.LOCAL_DB_NAME;
var dbuser = process.env.LOCAL_DB_USER;
var dbpass = process.env.LOCAL_DB_PASS;
var dbhost = process.env.LOCAL_DB_HOST;
var prefix = process.env.DB_PREFIX;
var debug = process.env.LOCAL_WP_DEBUG;
var savequ = process.env.LOCAL_SAVEQUERIES;
var disfmo = process.env.LOCAL_DISALLOW_FILE_MODS;
var almult = process.env.LOCAL_WP_ALLOW_MULTISITE;

if (typeof yargs.argv.prod !== 'undefined') {
dbname = process.env.PRODUCTION_DB_NAME;
dbuser = process.env.PRODUCTION_DB_USER;
dbpass = process.env.PRODUCTION_DB_PASS;
dbhost = '';
prefix = process.env.DB_PREFIX;
debug = process.env.PRODUCTION_WP_DEBUG;
savequ = process.env.PRODUCTION_SAVEQUERIES;
disfmo = process.env.PRODUCTION_DISALLOW_FILE_MODS;
almult = process.env.PRODUCTION_WP_ALLOW_MULTISITE;
} else if (typeof yargs.argv.stage !== 'undefined') {
dbname = process.env.STAGING_DB_NAME;
dbuser = process.env.STAGING_DB_USER;
dbpass = process.env.STAGING_DB_PASS;
dbhost = '';
prefix = process.env.DB_PREFIX;
debug = process.env.STAGING_WP_DEBUG;
savequ = process.env.STAGING_SAVEQUERIES;
disfmo = process.env.STAGING_DISALLOW_FILE_MODS;
almult = process.env.STAGING_WP_ALLOW_MULTISITE;
}

var cmd = new run.Command('sh ./shells/getKeys.sh').exec();
var keys = fs.readFileSync('keys.php', 'utf-8');

src('./config/wp-config.php')
.pipe(replace('@@db_name', dbname))
.pipe(replace('@@db_user', dbuser))
.pipe(replace('@@db_pass', dbpass))
.pipe(replace('@@db_host', dbhost))
.pipe(replace('@@include', keys))
.pipe(replace('@@db_prefix', prefix))
.pipe(replace('@@wp_debug', debug))
.pipe(replace('@@save_queries', savequ))
.pipe(replace('@@disallow_file_mods', disfmo))
.pipe(replace('@@wp_allow_multisite', almult))
.pipe(dest('wwwroot'));
} else {
console.log('.env file does not exist.\nRun gulp setupFirst');
}

done();
};

module.exports = setup;
3 changes: 1 addition & 2 deletions gulp/setupenvironment.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,10 @@ const setupEnvironment = () => {
default: ''
}], function(res) {
//value is in res.name
return src('.env')
src('.env')
.pipe(replace('hostinguser', res.hostinguser))
.pipe(replace('sshhost', res.sshhost))
.pipe(replace('dbhost', res.dbhost))
.pipe(replace('dbport', res.dbport))
.pipe(replace('wpversion', res.wpversion))
.pipe(replace('locale', res.locale))
.pipe(replace('dockername', res.dockername))
Expand Down
9 changes: 5 additions & 4 deletions gulpfile.babel.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ const copyHtaccessProduction = () => {
// Setsup nucleus and the .env file
import setupEnvironment from './gulp/setupenvironment';

// Sets the wp-config.php file
import setConfig from './gulp/setconfig';

// Sets the composer.json file
import setComposerfile from './gulp/setcomposerfile';

Expand Down Expand Up @@ -98,13 +95,17 @@ exports.shot = shot;
import deploy from './gulp/deploy';
exports.deploy = deploy;

// Deploy theme to server
import setup from './gulp/setup';
exports.setup = setup;

// Bumps version
import bumpPrompt from './gulp/bump';

// Release to github with tags
import githubrelease from './gulp/githubrelease';

export const setup = series(setupEnvironment, setConfig, setComposerfile);
export const setupFirst = series(setupEnvironment, setup, setComposerfile);
export const dev = series(clean, styles, images, makepot, copyfiles, copyphp, scripts, addbanner, plugins, docs, serve, watchForChanges);
export const build = series(cleanall, styles, images, makepot, copyfiles, copyphp, scripts, addbanner, plugins, copyHtaccessProduction, docs);
export const buildzip = series(cleanall, styles, images, makepot, copyfiles, copyphp, scripts, addbanner, copyHtaccessProduction, generatezip);
Expand Down

0 comments on commit d2b164b

Please sign in to comment.