Skip to content
Snippets Groups Projects
Select Git revision
  • 581e878823ee6aad079274a147a36e7b23226edd
  • test default
  • master protected
3 results

manage.py

Blame
  • gulpfile.js 12.19 KiB
    /******************************************************
     * PATTERN LAB NODE
     * EDITION-NODE-GULP
     * The gulp wrapper around patternlab-node core, providing tasks to interact with the core library and move supporting frontend assets.
     ******************************************************/
    var gulp = require("gulp"),
      path = require("path"),
      browserSync = require("browser-sync").create(),
      argv = require("minimist")(process.argv.slice(2));
    
    const vue = require('rollup-plugin-vue');
    const { terser } = require('rollup-plugin-terser');
    const rollup = require('@rollup/stream');
    const buble = require('@rollup/plugin-buble');
    const commonjs = require('@rollup/plugin-commonjs');
    const { nodeResolve } = require('@rollup/plugin-node-resolve');
    const replace = require('@rollup/plugin-replace');
    const source = require('vinyl-source-stream');
    const buffer = require('vinyl-buffer');
    const addsrc = require('gulp-add-src');
    const concat = require('gulp-concat');
    const postcss = require("gulp-postcss");
    const tailwindcss = require("tailwindcss");
    const rename = require("gulp-rename");
    const assets = require("postcss-assets");
    const postcssPurgecss = require("@fullhuman/postcss-purgecss")({
      content: [
        "./source/**/*.mustache",
        "./source/**/*.json",
        "./source/**/*.js",
        "./source/**/*.vue",
        "./public/**/*.html",
      ],
      defaultExtractor: (content) => content.match(/[A-Za-z0-9-_:/]+/g) || [],
      whitelistPatterns: [
        /(sm|md|lg|xl)?(\\:)?w-\d\d?$/, // width
        /(sm|md|lg|xl)?(\\:)?h-\d\d?$/, // height
        /(sm|md|lg|xl)?(\\:)m.?-\d\d?$/, // margins
        /(sm|md|lg|xl)?(\\:)p.?-\d\d?$/, // paddings
        /max-w-*/, // maximum width
        /grid-cols-\d\d?/, // grid columns
        /col-span-\d\d?/, // grid spans
        /row-span-\d\d?/, // grid spans
        /grid-flow/, // grid flow
        /(sm|md|lg|xl)(\\:)text-.*/,
        // /text-*/,
        /ico--*/, // icons
      ],
    });
    
    
    function resolvePath(pathInput) {
      return path.resolve(pathInput).replace(/\\/g, "/");
    }
    
    /******************************************************
     * COPY TASKS - stream assets from source to destination
     ******************************************************/
    // Images copy
    gulp.task("pl-copy:img", function (done) {
      return gulp
        .src("**/*.*", { cwd: resolvePath(paths().source.images) })
        .pipe(gulp.dest(resolvePath(paths().public.images)))
        .on("end", done);
    });
    
    // Favicon copy
    gulp.task("pl-copy:favicon", function (done) {
      return gulp
        .src("favicon.ico", { cwd: resolvePath(paths().source.root) })