Skip to content

Commit

Permalink
modularize all source code and move build to webpack
Browse files Browse the repository at this point in the history
  • Loading branch information
thenano committed Sep 28, 2016
1 parent 46b6337 commit 3508af0
Show file tree
Hide file tree
Showing 24 changed files with 348 additions and 244 deletions.
26 changes: 0 additions & 26 deletions karma-dist.conf.js

This file was deleted.

39 changes: 0 additions & 39 deletions karma.conf.js

This file was deleted.

54 changes: 26 additions & 28 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,11 @@
"description": "",
"main": "index.js",
"scripts": {
"test": "karma start karma.conf.js --single-run",
"test:dist": "npm run build && karma start karma-dist.conf.js --single-run",
"build:clean": "rm -rf ./dist/*",
"build:sass": "node-sass -r ./src/stylesheets/base.scss ./dist/base.css",
"build:uglify": "uglifyjs -c -m -o ./dist/tech-radar.min.js --source-map ./dist/tech-radar.min.js.map --source-map-url ./tech-radar.min.js.map -- ./src/namespaces.js ./src/**/*.js",
"build:deps": "cp ./bower_components/**/{chance,d3.min,lodash.min}*.js ./dist/; cp ./bower_components/d3-tip/index.js ./dist/d3-tip.js; cp ./bower_components/tabletop/src/tabletop.js ./dist/tabletop.js;",
"build": "npm run build:clean && npm run build:sass && npm run build:uglify && npm run build:deps && npm run build:sanitizeHtml",
"build:sanitizeHtml": "browserify node_modules/sanitize-html/index.js > dist/sanitize-html.js --standalone 'sanitizeHtml'",
"examples:clean": "rm -rf ./examples/*{.js,.css,.map}",
"examples:deps": "cp -r ./dist/* ./examples/",
"test": "jasmine",
"dev": "webpack-dev-server --dev --inline",
"build": "webpack --prod",
"examples": "npm run build && npm run examples:clean && npm run examples:deps",
"publishExamples": "node ./scripts/publish-examples.js",
"postinstall": "bower install"
"publishExamples": "node ./scripts/publish-examples.js"
},
"author": "Bruno Trecenti & Fernando Freire",
"repository": {
Expand All @@ -28,21 +20,27 @@
],
"license": "ISC",
"devDependencies": {
"bower": "^1.3.3",
"browserify": "^13.1.0",
"jasmine-core": "^2.5.2",
"karma": "~1.3",
"karma-chrome-launcher": "~0.1.0",
"karma-coverage": "^1.1.1",
"karma-firefox-launcher": "~0.1.0",
"karma-jasmine": "~1.0.2",
"karma-phantomjs-launcher": "~0.1.2",
"karma-requirejs": "~0.2.0",
"karma-script-launcher": "~0.1.0",
"node-sass": "^3.1.1",
"requirejs": "~2.1.11",
"sanitize-html": "^1.13.0",
"uglify-js": "^2.4.23"
"babel-core": "^6.14.0",
"babel-loader": "^6.2.5",
"css-loader": "^0.25.0",
"extract-text-webpack-plugin": "^1.0.1",
"file-loader": "^0.9.0",
"html-webpack-plugin": "^2.22.0",
"jasmine": "^2.5.2",
"json-loader": "^0.5.4",
"node-sass": "^3.10.0",
"sass-loader": "^4.0.2",
"style-loader": "^0.13.1",
"webpack": "^1.13.2",
"webpack-dev-server": "^1.16.1",
"yargs": "^5.0.0"
},
"dependencies": {}
"dependencies": {
"chance": "^1.0.4",
"d3": "^4.2.6",
"d3-tip": "^0.7.1",
"lodash": "^4.16.2",
"sanitize-html": "^1.13.0",
"tabletop": "^1.4.3"
}
}
File renamed without changes.
File renamed without changes.
18 changes: 11 additions & 7 deletions test/models/blip-spec.js → spec/models/blip-spec.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
describe('tr.models.Blip', function () {
const Blip = require('../../src/models/blip');
const Cycle = require('../../src/models/cycle');

describe('Blip', function () {
var blip;

beforeEach(function () {
blip = new tr.models.Blip(
blip = new Blip(
'My Blip',
new tr.models.Cycle('My Cycle')
new Cycle('My Cycle')
);
});

Expand All @@ -25,19 +29,19 @@ describe('tr.models.Blip', function () {
});

it('is new', function () {
blip = new tr.models.Blip(
blip = new Blip(
'My Blip',
new tr.models.Cycle('My Cycle'),
new Cycle('My Cycle'),
true
);

expect(blip.isNew()).toBe(true);
});

it('is not new', function () {
blip = new tr.models.Blip(
blip = new Blip(
'My Blip',
new tr.models.Cycle('My Cycle'),
new Cycle('My Cycle'),
false
);

Expand Down
8 changes: 5 additions & 3 deletions test/models/cycle-spec.js → spec/models/cycle-spec.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
describe('tr.models.Cycle', function () {
const Cycle = require('../../src/models/cycle');

describe('Cycle', function () {
it('has a name', function () {
var cycle = new tr.models.Cycle('My Cycle');
var cycle = Cycle('My Cycle');

expect(cycle.name()).toEqual('My Cycle');
});

it('has a order', function () {
var cycle = new tr.models.Cycle('My Cycle', 0);
var cycle = new Cycle('My Cycle', 0);

expect(cycle.order()).toEqual(0);
});
Expand Down
32 changes: 32 additions & 0 deletions spec/models/quadrant-spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
const Quadrant = require('../../src/models/quadrant');
const Blip = require('../../src/models/blip');

describe('Quadrant', function () {
it('has a name', function () {
var quadrant = new Quadrant('My Quadrant');

expect(quadrant.name()).toEqual('My Quadrant');
});

it('has no blips by default', function () {
var quadrant = new Quadrant('My Quadrant');

expect(quadrant.blips()).toEqual([]);
});

it('can add a single blip', function () {
var quadrant = new Quadrant('My Quadrant');

quadrant.add(new Blip());

expect(quadrant.blips().length).toEqual(1);
});

it('can add multiple blips', function () {
var quadrant = new Quadrant('My Quadrant');

quadrant.add([new Blip(), new Blip()]);

expect(quadrant.blips().length).toEqual(2);
});
});
75 changes: 40 additions & 35 deletions test/models/radar-spec.js → spec/models/radar-spec.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
describe('tr.models.Radar', function () {
const Radar = require('../../src/models/radar');
const Quadrant = require('../../src/models/quadrant');
const Cycle = require('../../src/models/cycle');
const Blip = require('../../src/models/blip');

describe('Radar', function () {

it('has no quadrants by default', function () {
radar = new tr.models.Radar();
var radar = new Radar();

expect(radar.quadrants()[0].quadrant).not.toBeDefined();
expect(radar.quadrants()[1].quadrant).not.toBeDefined();
Expand All @@ -12,10 +17,10 @@ describe('tr.models.Radar', function () {
it('sets the first quadrant', function () {
var quadrant, radar, blip;

blip = new tr.models.Blip('A', new tr.models.Cycle('First'));
quadrant = new tr.models.Quadrant('First');
blip = new Blip('A', new Cycle('First'));
quadrant = new Quadrant('First');
quadrant.add([blip]);
radar = new tr.models.Radar();
radar = new Radar();

radar.addQuadrant(quadrant);

Expand All @@ -26,10 +31,10 @@ describe('tr.models.Radar', function () {
it('sets the second quadrant', function () {
var quadrant, radar, blip;

blip = new tr.models.Blip('A', new tr.models.Cycle('First'));
quadrant = new tr.models.Quadrant('Second');
blip = new Blip('A', new Cycle('First'));
quadrant = new Quadrant('Second');
quadrant.add([blip]);
radar = new tr.models.Radar();
radar = new Radar();

radar.addQuadrant(quadrant);

Expand All @@ -40,10 +45,10 @@ describe('tr.models.Radar', function () {
it('sets the third quadrant', function () {
var quadrant, radar, blip;

blip = new tr.models.Blip('A', new tr.models.Cycle('First'));
quadrant = new tr.models.Quadrant('Third');
blip = new Blip('A', new Cycle('First'));
quadrant = new Quadrant('Third');
quadrant.add([blip]);
radar = new tr.models.Radar();
radar = new Radar();

radar.addQuadrant(quadrant);

Expand All @@ -54,10 +59,10 @@ describe('tr.models.Radar', function () {
it('sets the fourth quadrant', function () {
var quadrant, radar, blip;

blip = new tr.models.Blip('A', new tr.models.Cycle('First'));
quadrant = new tr.models.Quadrant('Fourth');
blip = new Blip('A', new Cycle('First'));
quadrant = new Quadrant('Fourth');
quadrant.add([blip]);
radar = new tr.models.Radar();
radar = new Radar();

radar.addQuadrant(quadrant);

Expand All @@ -69,18 +74,18 @@ describe('tr.models.Radar', function () {
var firstQuadrant, secondQuadrant, radar, firstCycle;

beforeEach(function () {
firstCycle = new tr.models.Cycle('Adopt', 0);
firstQuadrant = new tr.models.Quadrant('First');
secondQuadrant = new tr.models.Quadrant('Second');
firstCycle = new Cycle('Adopt', 0);
firstQuadrant = new Quadrant('First');
secondQuadrant = new Quadrant('Second');
firstQuadrant.add([
new tr.models.Blip('A', firstCycle),
new tr.models.Blip('B', firstCycle)
new Blip('A', firstCycle),
new Blip('B', firstCycle)
]);
secondQuadrant.add([
new tr.models.Blip('C', firstCycle),
new tr.models.Blip('D', firstCycle)
new Blip('C', firstCycle),
new Blip('D', firstCycle)
]);
radar = new tr.models.Radar();
radar = new Radar();
});

it('sets blip numbers starting on the first quadrant', function () {
Expand All @@ -103,17 +108,17 @@ describe('tr.models.Radar', function () {
var quadrant, radar, firstCycle, secondCycle, otherQuadrant;

beforeEach(function () {
firstCycle = new tr.models.Cycle('Adopt', 0);
secondCycle = new tr.models.Cycle('Hold', 1);
quadrant = new tr.models.Quadrant('Fourth');
otherQuadrant = new tr.models.Quadrant('Other');
radar = new tr.models.Radar();
firstCycle = new Cycle('Adopt', 0);
secondCycle = new Cycle('Hold', 1);
quadrant = new Quadrant('Fourth');
otherQuadrant = new Quadrant('Other');
radar = new Radar();
});

it('returns an array for a given set of blips', function () {
quadrant.add([
new tr.models.Blip('A', firstCycle),
new tr.models.Blip('B', secondCycle)
new Blip('A', firstCycle),
new Blip('B', secondCycle)
]);

radar.addQuadrant(quadrant);
Expand All @@ -126,9 +131,9 @@ describe('tr.models.Radar', function () {

it('has unique cycles', function () {
quadrant.add([
new tr.models.Blip('A', firstCycle),
new tr.models.Blip('B', firstCycle),
new tr.models.Blip('C', secondCycle)
new Blip('A', firstCycle),
new Blip('B', firstCycle),
new Blip('C', secondCycle)
]);

radar.addQuadrant(quadrant);
Expand All @@ -141,9 +146,9 @@ describe('tr.models.Radar', function () {

it('has sorts by the cycle order', function () {
quadrant.add([
new tr.models.Blip('C', secondCycle),
new tr.models.Blip('A', firstCycle),
new tr.models.Blip('B', firstCycle)
new Blip('C', secondCycle),
new Blip('A', firstCycle),
new Blip('B', firstCycle)
]);

radar.addQuadrant(quadrant);
Expand Down
11 changes: 11 additions & 0 deletions spec/support/jasmine.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"spec_dir": "spec",
"spec_files": [
"**/*[sS]pec.js"
],
"helpers": [
"helpers/**/*.js"
],
"stopSpecOnExpectationFailure": false,
"random": false
}
Loading

0 comments on commit 3508af0

Please sign in to comment.