Hi guys, I’ve just copied my boilerplate from previous netlify projects and noticed I cannot start netlify dev server. I’m getting the following:
Richards-MBP-2:wiecz Richard$ netlify dev
◈ Netlify Dev ◈
◈ Ignored general context env var: LANG (defined in process)
◈ Cannot read property ‘map’ of undefined
I believe the problem is somehow associated with gulp. Whenever I remove gulp from my devDependencies in package.json netlify dev starts normally. Of course if I remove the json file it also works - that’s how I started debugging it. I’ve checked all the dependencies and only gulp seems to matter. Please, I am not good at this build and deployment magic and I’ve been scratching my head the whole day.
This is my package.json (removing “gulp”: “^4.0.2”, solves the problem) :
{
“name”: “monitoring”,
“version”: “1.0.0”,
“description”: “”,
“main”: “main.js”,
“scripts”: {
“test”: “echo “Error: no test specified” && exit 1”
},
“author”: “Ryszard Waniek”,
“license”: “ISC”,
“devDependencies”: {
“@babel/core”: “^7.11.0”,
“@babel/preset-env”: “^7.11.0”,
“gulp”: “^4.0.2”,
“gulp-autoprefixer”: “^5.0.0”,
“gulp-babel”: “^8.0.0”,
“gulp-concat”: “^2.6.1”,
“gulp-cssnano”: “^1.1.0”,
“gulp-notify”: “^3.2.0”,
“gulp-rename”: “^1.4.0”,
“gulp-sass”: “^5.0.0”,
“gulp-sourcemaps”: “^2.6.5”,
“gulp-uglify”: “^3.0.2”,
“merge-stream”: “^2.0.0”,
“sass”: “^1.35.2”
}
}
and this is my gulp.js:
‘use strict’;
const gulp = require(‘gulp’);
const babel = require(‘gulp-babel’);
// const merge = require(‘merge-stream’);
const sass = require(‘gulp-sass’)(require(‘sass’));
const cssnano = require(‘gulp-cssnano’);
const sourcemaps = require(‘gulp-sourcemaps’);
const autoprefixer = require(‘gulp-autoprefixer’);
const rename = require(‘gulp-rename’); // Renames files E.g. style.css → style.min.css
const notify = require(‘gulp-notify’); // Sends message notification to you
// JS related plugins.
const concat = require(‘gulp-concat’); // Concatenates JS files
const uglify = require(‘gulp-uglify’); // Minifies JS files
// Paths
const paths = {
styles: {
src: ‘./src/sass//*.scss’,
dest: ‘./dist’
},
scripts: {
src: './src/js//*.js’,
dest: ‘./dist/js’
}
};
function styles() {
return gulp.src(paths.styles.src)
.pipe(sourcemaps.init())
.pipe(sass({outputStyle: ‘compressed’}).on(‘error’, sass.logError))
.pipe(autoprefixer({
Browserslist: [‘last 2 versions’],
cascade: false
}))
.pipe(cssnano({ zindex: false }))
.pipe(rename( { suffix: ‘.min’ }))
.pipe(sourcemaps.write(’./’))
.pipe(gulp.dest(paths.styles.dest))
.pipe( notify( { message: ‘Styles task completed!’, onLast: true, sound: ‘Frog’ } ) );
}
function scripts() {
return gulp.src(paths.scripts.src, { sourcemaps: true })
.pipe(babel({
presets: [
[’@babel/env’, {
modules: false
}]
]
}))
.pipe(concat( ‘main.js’ ) )
.pipe(rename( { suffix: ‘.min’ }))
.pipe(uglify() )
.pipe(gulp.dest(paths.scripts.dest, {sourcemaps: true}) )
.pipe(notify( { message: ‘Scripts task completed!’, onLast: true, sound: ‘Frog’ } ) );
}
function watch() {
gulp.watch(paths.styles.src, styles);
gulp.watch(paths.scripts.src, scripts);
}
exports.styles = styles;
exports.scripts = scripts;
exports.watch = watch;
exports.default = gulp.parallel(gulp.series(styles, scripts), watch);