Skip to content

Commit

Permalink
build
Browse files Browse the repository at this point in the history
  • Loading branch information
azz0r committed Dec 8, 2018
1 parent f2b10d9 commit f629cdc
Show file tree
Hide file tree
Showing 13 changed files with 4,268 additions and 239 deletions.
23 changes: 22 additions & 1 deletion .babelrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
{
"presets": ["env"]
"env": {
"test": {
"presets": [
["env", { "modules": "commonjs" }]
]
},
"development": {
"plugins": ["external-helpers"]
},
"production": {
"plugins": ["external-helpers"]
}
},
"presets": [
[
"env",
{
"modules": false
}
]
],
"plugins": []
}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
node_modules
coverage
2 changes: 0 additions & 2 deletions test/benchmark.js → __test__/benchmark.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,3 @@ suite
console.log("Fastest is " + this.filter("fastest").map("name"));
})
.run({ async: true });

export default suite;
59 changes: 59 additions & 0 deletions __test__/fixtures.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
export default {
collection: [
{
name: "Shinn",
id: 1,
gender: "male"
}, {
name: "Lin",
id: 2,
gender: "male"
}, {
name: "Jim",
id: 3,
gender: "male"
}, {
name: "Kim",
id: 4,
gender: "female"
}
],
justMen: [
{
name: "Shinn",
id: 1,
gender: "male"
}, {
name: "Lin",
id: 2,
gender: "male"
}, {
name: "Jim",
id: 3,
gender: "male"
}
],
formattedModels: [
{
name: "Shinn",
id: 1,
gender: "male",
points: 100
}, {
name: "Lin",
id: 2,
gender: "male",
points: 100
}, {
name: "Jim",
id: 3,
gender: "male",
points: 100
}, {
name: "Kim",
id: 4,
gender: "female",
points: 100
}
]
}
23 changes: 23 additions & 0 deletions __test__/test.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import factory from "../dist/fightSimulator.umd";

import { genderFilter, formatModel } from "../src/modifiers"
import data from "./fixtures"

test("test parantheses pairs with different cases", () => {
const modifiers = [formatModel]
const value = factory({ modifiers, data: data.collection });
const expectedValue = data.formattedModels

expect(value).toEqual(expectedValue);
});

test("test parantheses pairs with different cases", () => {
const modifiers = [genderFilter("male")]
const value = factory({
modifiers,
data: data.collection
});
const expectedValue = data.justMen

expect(value).toEqual(expectedValue);
});
18 changes: 17 additions & 1 deletion dist/fightSimulator.cjs.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
'use strict';

Object.defineProperty(exports, '__esModule', { value: true });

const factory = function({ data = {}, modifiers = [] }) {
let props = JSON.parse(JSON.stringify(data));
const prehooks = modifiers.map(modifier => modifier.prehook);
Expand All @@ -10,4 +12,18 @@ const factory = function({ data = {}, modifiers = [] }) {
return props;
};

module.exports = factory;
const noop = data => data;
const formatModel = {
prehook: data => data.map(item => Object.assign({}, { points: 100 }, item)),
posthook: data => noop(data)
};
const genderFilter = gender => ({
prehook: data => noop(data),
posthook: data => data.filter(item => item.gender === gender)
});

var modifiers = { genderFilter, formatModel };

exports.factory = factory;
exports.modifiers = modifiers;
exports.default = factory;
13 changes: 13 additions & 0 deletions dist/fightSimulator.esm.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,17 @@ const factory = function({ data = {}, modifiers = [] }) {
return props;
};

const noop = data => data;
const formatModel = {
prehook: data => data.map(item => Object.assign({}, { points: 100 }, item)),
posthook: data => noop(data)
};
const genderFilter = gender => ({
prehook: data => noop(data),
posthook: data => data.filter(item => item.gender === gender)
});

var modifiers = { genderFilter, formatModel };

export default factory;
export { factory, modifiers };
26 changes: 21 additions & 5 deletions dist/fightSimulator.umd.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global.fightSimulator = factory());
}(this, (function () { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(factory((global.fightSimulator = {})));
}(this, (function (exports) { 'use strict';

const factory = function({ data = {}, modifiers = [] }) {
let props = JSON.parse(JSON.stringify(data));
Expand All @@ -14,6 +14,22 @@
return props;
};

return factory;
const noop = data => data;
const formatModel = {
prehook: data => data.map(item => Object.assign({}, { points: 100 }, item)),
posthook: data => noop(data)
};
const genderFilter = gender => ({
prehook: data => noop(data),
posthook: data => data.filter(item => item.gender === gender)
});

var modifiers = { genderFilter, formatModel };

exports.factory = factory;
exports.modifiers = modifiers;
exports.default = factory;

Object.defineProperty(exports, '__esModule', { value: true });

})));
48 changes: 38 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,54 @@
"name": "fight-simulator",
"version": "0.0.1",
"description": "fight simulation with hook system",
"main": "src/index.js",
"main": "dist/fightSimulator.cjs.js",
"repository": "git@github.com:azz0r/fight-simulator.git",
"author": "Aaron Lote <5314860+azz0r@users.noreply.github.com>",
"license": "MIT",
"devDependencies": {
"rollup": "^0.67.0",
"rollup-plugin-commonjs": "^9.1.0",
"assert": "^1.4.1",
"benchmark": "^2.1.4",
"rollup-plugin-node-resolve": "^3.0.0"
"babel-core": "^6.26.3",
"babel-jest": "^23.0.1",
"babel-plugin-external-helpers": "^6.22.0",
"babel-preset-env": "^1.7.0",
"coveralls": "^3.0.1",
"jest": "^23.1.0",
"jest-cli": "^23.1.0",
"regenerator-runtime": "^0.11.1",
"rollup": "^0.60.7",
"rollup-plugin-babel": "^3.0.4",
"rollup-plugin-commonjs": "^9.1.3",
"rollup-plugin-node-resolve": "^3.3.0",
"rollup-plugin-peer-deps-external": "^2.1.1"
},
"scripts": {
"build": "rollup -c",
"dev": "rollup -c -w",
"test": "node test/test.js",
"pretest": "npm run build"
"build": "BABEL_ENV=production rollup -c",
"dev": "BABEL_ENV=development rollup -c -w",
"pretest": "npm run build",
"test": "BABEL_ENV=test jest",
"test:watch": "BABLE_ENV=test jest --watch",
"test:cov": "BABEL_ENV=test jest --coverage"
},
"main": "dist/fightSimulator.cjs.js",
"module": "dist/fightSimulator.esm.js",
"browser": "dist/fightSimulator.umd.js",
"files": [
"dist"
]
],
"jest": {
"testMatch": [
"<rootDir>/__test__/*.spec.js"
],
"collectCoverageFrom": [
"src/**/*.js"
],
"coverageDirectory": "coverage",
"coverageReporters": [
"html",
"lcov"
],
"transform": {
"^.+\\.js$": "babel-jest"
}
}
}
5 changes: 4 additions & 1 deletion src/index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
import factory from "./factory";
import factory from "./factory"
import modifiers from "./modifiers"

export { factory, modifiers }

export default factory;
2 changes: 1 addition & 1 deletion test/modifiers.js → src/modifiers.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ export const genderFilter = gender => ({
posthook: data => data.filter(item => item.gender === gender)
});

export default [genderFilter, formatModel];
export default { genderFilter, formatModel };
22 changes: 0 additions & 22 deletions test/fixtures.js

This file was deleted.

Loading

0 comments on commit f629cdc

Please sign in to comment.