JSFiddle - React, Tailwind, and code Playground

by fristyr

JavaScript

const env = require('gulp-env');
const glob = require('glob')
const clean = require('gulp-clean');
const rename = require('gulp-rename')
const gulp = require('gulp');
const babel = require('gulp-babel');
const concat = require('gulp-concat');
const eslint = require('gulp-eslint');
const uglify = require('gulp-uglify');
const gulpif = require('gulp-if');
const cssnano = require('gulp-cssnano');
const postcss = require('gulp-postcss');
const reporter = require('postcss-reporter');
const stylelint = require('stylelint')
const sourcemaps = require('gulp-sourcemaps');
const handlebars = require('gulp-compile-handlebars')
const browserSync = require('browser-sync').create();
const autoprefixer = require('autoprefixer');
const nested = require('postcss-nested');
const postcssShort = require('postcss-short');
const assets  = require('postcss-assets');
const postcssPresetEnv = require('postcss-preset-env');

const rulesStyles = require('./stylelyntrc.json');
const rulesScripts = require('./eslintrc.json');
const templateContext = require('./src/test.json');

const paths = {
    src: {
        styles:'src/styles/*.css',
        scripts: 'src/scripts/*.js',
        dir: 'src/templates'
    },
    build: {
        dir: 'build/',
        styles: 'build/styles',
        scripts: 'build/scripts'
    },
    buildNames: {
        styles: 'index.min.css',
        scripts: 'index.min.js'
    },
    templates: 'src/templates/**/*.hbs',
    lint: {
        scripts: ['**/*.js' , '!node_mpdules/**/*', '!build/**/*']
    }

};

env({
    file: '.env',
    type: 'ini',
  });

  gulp.task('compile', () => {
    glob(paths.templates, (err, files) => {
        if (!err) {
            const options = {
                ignorePartials: true,
                batch: files.map(item => item.slice(0, item.lastIndexOf('/'))),
                helpers: {
                    capitals: str => str.toUpperCase(),
                    sum: (a, b) => a + b
                }
            };

           ...