Skip to content

Commit

Permalink
- Updated jest-cli to avoid errors with Node >= 11.11.0 (see jestjs/j…
Browse files Browse the repository at this point in the history
…est#8050)

- Updated eslint rules
- Removed `gulp-jest`
  • Loading branch information
ascartabelli committed Mar 8, 2019
1 parent 27a0668 commit e4fece6
Show file tree
Hide file tree
Showing 9 changed files with 869 additions and 408 deletions.
6 changes: 5 additions & 1 deletion .eslintrc.json
Expand Up @@ -220,7 +220,11 @@
],
"operator-linebreak": [
"error",
"after"
"before", {
"overrides": {
"=": "after"
}
}
],
"padded-blocks": [
"error",
Expand Down
4 changes: 4 additions & 0 deletions .eslintrc.test.json
@@ -1,11 +1,15 @@
{
"env": {
"es6": true,
"jest" : true,
"node": true
},
"extends": [
".eslintrc.json"
],
"parserOptions": {
"ecmaVersion": 9
},
"rules": {
"brace-style": [
"error",
Expand Down
8 changes: 4 additions & 4 deletions dist/lamb.js
@@ -1,7 +1,7 @@
/**
* @overview lamb - A lightweight, and docile, JavaScript library to help embracing functional programming.
* @author Andrea Scartabelli <andrea.scartabelli@gmail.com>
* @version 0.58.0-alpha.1
* @version 0.58.0-alpha.2
* @module lamb
* @license MIT
* @preserve
Expand Down Expand Up @@ -6374,9 +6374,9 @@
* @returns {Object}
*/
function updateIn (source, key, updater) {
return _isEnumerable(source, key) ?
_setIn(source, key, updater(source[key])) :
_merge(enumerables, source, {});
return _isEnumerable(source, key)
? _setIn(source, key, updater(source[key]))
: _merge(enumerables, source, {});
}

/**
Expand Down
2 changes: 1 addition & 1 deletion dist/lamb.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/lamb.min.js.map

Large diffs are not rendered by default.

106 changes: 52 additions & 54 deletions gulpfile.js
@@ -1,17 +1,17 @@
/* eslint-disable require-jsdoc */

var gulp = require("gulp");
var eslint = require("gulp-eslint");
var jest = require("gulp-jest").default;
var rename = require("gulp-rename");
var rollup = require("rollup");
var sourcemaps = require("gulp-sourcemaps");
var uglify = require("gulp-uglify");

var jestBaseConfig = require("./jest.config");
var pkg = require("./package.json");

var intro = [
const gulp = require("gulp");
const eslint = require("gulp-eslint");
const jest = require("jest-cli");
const rename = require("gulp-rename");
const rollup = require("rollup");
const sourcemaps = require("gulp-sourcemaps");
const uglify = require("gulp-uglify");

const jestBaseConfig = require("./jest.config");
const pkg = require("./package.json");

const intro = [
"/**",
"* @overview " + pkg.name + " - " + pkg.description,
"* @author " + pkg.author.name + " <" + pkg.author.email + ">",
Expand All @@ -32,66 +32,64 @@ gulp.task("set-test-env", cb => {

/* build */

gulp.task("build", function () {
return rollup.rollup({ input: "src/index.js" }).then(function (bundle) {
return bundle.write({
banner: intro,
exports: "named",
file: "dist/lamb.js",
format: "umd",
freeze: false,
name: "lamb",
sourcemap: false,
strict: true
});
});
});

gulp.task("minify", gulp.series(
"build",
function () {
return gulp.src("dist/lamb.js")
.pipe(sourcemaps.init())
.pipe(uglify({ output: { comments: "some" } }))
.pipe(rename({ extname: ".min.js" }))
.pipe(sourcemaps.write("."))
.pipe(gulp.dest("dist"));
}
gulp.task("build", () => rollup
.rollup({ input: "src/index.js" })
.then(bundle => bundle.write({
banner: intro,
exports: "named",
file: "dist/lamb.js",
format: "umd",
freeze: false,
name: "lamb",
sourcemap: false,
strict: true
}))
);

gulp.task("minify", gulp.series("build", () => gulp.src("dist/lamb.js")
.pipe(sourcemaps.init())
.pipe(uglify({ output: { comments: "some" } }))
.pipe(rename({ extname: ".min.js" }))
.pipe(sourcemaps.write("."))
.pipe(gulp.dest("dist"))
));

/* lint */

function lintWith (settings) {
return function () {
return gulp.src(settings.inputs)
.pipe(eslint(settings.configPath))
.pipe(eslint.format())
.pipe(eslint.failAfterError());
};
}
const lintWith = settings => () => gulp.src(settings.inputs)
.pipe(eslint(settings.configPath))
.pipe(eslint.format())
.pipe(eslint.failAfterError());

gulp.task("lint:code", lintWith({
configPath: ".eslintrc.json",
inputs: ["./*.js", "./src/**/*.js", "!./src/**/__{tests,mocks}__/**"]
inputs: ["./src/**/*.js", "!./src/**/__{tests,mocks}__/**"]
}));

gulp.task("lint:tests", lintWith({
configPath: ".eslintrc.test.json",
inputs: "./src/**/__{tests,mocks}__/**/*.js"
inputs: ["./*.js", "./src/**/__{tests,mocks}__/**/*.js"]
}));

gulp.task("lint", gulp.series("lint:code", "lint:tests"));

/* test */

function testWith (extraSettings) {
return gulp.series(
"set-test-env",
function () {
return gulp.src("./src").pipe(jest(Object.assign({}, jestBaseConfig, extraSettings)));
const testWith = extraSettings => gulp.series(
"set-test-env",
() => jest.runCLI(
Object.assign({}, jestBaseConfig, extraSettings),
[jestBaseConfig.rootDir]
).then(({ results }) => { // eslint-disable-line consistent-return
if (!results.success) {
const message = results.numFailedTests || results.numFailedTestSuites
? "Tests failed"
: "Coverage threshold not met";

return Promise.reject(new Error(message));
}
);
}
})
);

gulp.task("test", testWith({}));

Expand Down

0 comments on commit e4fece6

Please sign in to comment.