Skip to content

Commit a3fe34a

Browse files
committed
remove globals, use redux state
1 parent 445bcc9 commit a3fe34a

File tree

40 files changed

+156
-227
lines changed

40 files changed

+156
-227
lines changed

lib/actions/page.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
"use strict";
22
var _types_1 = require('./_types');
33
var store_1 = require('../store');
4+
var _position = {
5+
chapter: 0,
6+
page: 0,
7+
};
48
function pageNext() {
59
var position = store_1.store.getState().position;
610
return { type: _types_1.PAGE_NEXT, payload: { position: position } };
711
}
812
exports.pageNext = pageNext;
913
function pageSet(position) {
10-
if (position === void 0) { position = { chapter: 0, page: 0 }; }
14+
if (position === void 0) { position = _position; }
1115
if (position.completed) {
1216
return {
1317
payload: { route: 'final' },

lib/atom/main.js

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,9 @@ var polyfills_1 = require('../services/polyfills');
55
var subscriptions_1 = require('./subscriptions');
66
var store_1 = require('../store');
77
var actions_1 = require('../actions');
8-
function setDir() {
9-
if (atom.project.rootDirectories.length > 0) {
10-
return atom.project.rootDirectories[0].path;
11-
}
12-
else {
13-
return null;
14-
}
15-
}
16-
function setWin() {
17-
return navigator.appVersion.indexOf('Win') > -1;
18-
}
198
var Main = (function () {
209
function Main() {
2110
polyfills_1.default();
22-
window.coderoad = {
23-
dir: setDir(),
24-
win: setWin(),
25-
};
2611
store_1.store.dispatch(actions_1.setupVerify());
2712
this.root = mount_1.initRoot();
2813
}

lib/reducers/checks/action-setup.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ var store_1 = require('../../store');
66
var actions_2 = require('../../actions');
77
var packageData = "{\n \"name\": \"demo\",\n \"dependencies\": {\n \"coderoad-functional-school\": \"^0.2.1\"\n }\n}";
88
function createPackageJson() {
9-
var packagePath = path_1.join(window.coderoad.dir, 'package.json');
9+
var dir = store_1.store.getState().dir;
10+
var packagePath = path_1.join(dir, 'package.json');
1011
return new Promise(function (resolve, reject) {
1112
editor_1.open(packagePath);
1213
setTimeout(function () {

lib/reducers/checks/verify.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ function allTrue(obj) {
77
return Object.values(obj).every(function (x) { return x === true; });
88
}
99
function setupVerify() {
10-
var dir = !!window.coderoad.dir;
10+
var dir = !!store_1.store.getState().dir;
1111
var packageJson = false;
1212
var tutorial = false;
1313
var pj = store_1.store.getState().packageJson;

lib/reducers/dir/index.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
"use strict";
2+
function dirReducer(dir) {
3+
if (dir === void 0) { dir = null; }
4+
if (atom.project.rootDirectories.length > 0) {
5+
return atom.project.rootDirectories[0].path;
6+
}
7+
else {
8+
return null;
9+
}
10+
}
11+
Object.defineProperty(exports, "__esModule", { value: true });
12+
exports.default = dirReducer;

lib/reducers/editor-actions/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ function editorActionsReducer(editorActions, action) {
1414
switch (action.type) {
1515
case _types_1.TESTS_LOAD:
1616
actions = store_1.store.getState().tasks.map(function (task) { return task.actions || []; });
17+
console.log('LOAD', actions);
1718
currentTaskPosition = 0;
1819
handleEditorActions(actions.shift());
1920
return actions;

lib/reducers/index.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
var redux_1 = require('redux');
33
var alert_1 = require('./alert');
44
var checks_1 = require('./checks');
5+
var dir_1 = require('./dir');
56
var editor_actions_1 = require('./editor-actions');
67
var hint_position_1 = require('./hint-position');
78
var package_json_1 = require('./package-json');
@@ -17,7 +18,7 @@ var tutorial_1 = require('./tutorial');
1718
var tutorials_1 = require('./tutorials');
1819
Object.defineProperty(exports, "__esModule", { value: true });
1920
exports.default = redux_1.combineReducers({
20-
alert: alert_1.default, checks: checks_1.default, editorActions: editor_actions_1.default, hintPosition: hint_position_1.default, page: page_1.default,
21+
alert: alert_1.default, checks: checks_1.default, dir: dir_1.default, editorActions: editor_actions_1.default, hintPosition: hint_position_1.default, page: page_1.default,
2122
packageJson: package_json_1.default, position: position_1.default, progress: progress_1.default, route: route_1.default, taskPosition: task_position_1.default,
22-
taskTests: task_tests_1.default, tasks: tasks_1.default, testRun: test_run_1.default, tutorial: tutorial_1.default, tutorials: tutorials_1.default
23+
taskTests: task_tests_1.default, tasks: tasks_1.default, testRun: test_run_1.default, tutorial: tutorial_1.default, tutorials: tutorials_1.default,
2324
});

lib/reducers/package-json/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ var _types_1 = require('../../actions/_types');
33
var path_1 = require('path');
44
var fs_1 = require('fs');
55
var exists_1 = require('../../services/exists');
6+
var store_1 = require('../../store');
67
function packageJsonReducer(pj, action) {
78
if (pj === void 0) { pj = null; }
89
switch (action.type) {
910
case _types_1.PACKAGE_SET:
10-
var pathToPackageJson = path_1.join(window.coderoad.dir, 'package.json');
11+
var dir = store_1.store.getState().dir;
12+
var pathToPackageJson = path_1.join(dir, 'package.json');
1113
if (exists_1.fileExists(pathToPackageJson)) {
1214
return JSON.parse(fs_1.readFileSync(pathToPackageJson, 'utf8'));
1315
}

lib/reducers/tasks/config-task-tests.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
"use strict";
22
var path_1 = require('path');
33
var store_1 = require('../../store');
4+
var system_1 = require('../../services/system');
45
function configTestString(config, name, testPath) {
5-
if (window.coderoad.win) {
6+
if (system_1.isWindows) {
67
testPath = testPath.split('/').join('\\');
78
}
89
var tutorial = store_1.store.getState().tutorial;
910
if (tutorial && tutorial.config.dir) {
1011
testPath = path_1.join(tutorial.config.dir, testPath);
1112
}
1213
else {
13-
testPath = path_1.join(window.coderoad.dir, 'node_modules', name, testPath);
14+
var dir = store_1.store.getState().dir;
15+
testPath = path_1.join(dir, 'node_modules', name, testPath);
1416
}
1517
if (tutorial.config.testSuffix) {
1618
testPath += tutorial.config.testSuffix;

lib/reducers/test-run/parse-loaders.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ function parseLoaders(data, fileType) {
3232
pathToFile = path_1.normalize(path_1.join(tutorialDir, fileToLoad));
3333
}
3434
else {
35-
pathToFile = path_1.normalize(path_1.join(window.coderoad.dir, fileToLoad));
35+
var dir = store_1.store.getState().dir;
36+
pathToFile = path_1.normalize(path_1.join(dir, fileToLoad));
3637
}
3738
try {
3839
lines[i] = fs_1.readFileSync(pathToFile, 'utf8');

0 commit comments

Comments
 (0)