Skip to content

Commit 2ee64af

Browse files
committed
setup steps, warnings, one-click fixes
1 parent 4e90d3f commit 2ee64af

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+453
-660
lines changed

lib/actions/actionTypes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use strict";
22
exports.SET_PROJECT = 'SET_PROJECT';
3-
exports.SET_SETUP = 'SET_SETUP';
3+
exports.SETUP_WARNING = 'SETUP_WARNING';
44
exports.LOAD_TUTORIALS = 'LOAD_TUTORIALS';
55
exports.SET_ROUTE = 'SET_ROUTE';
66
exports.SET_PAGE = 'SET_PAGE';

lib/actions/actions.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ function setProject() {
66
return { type: Type.SET_PROJECT };
77
}
88
exports.setProject = setProject;
9-
function setSetup(setup) {
10-
return { type: Type.SET_SETUP, payload: setup };
9+
function setupWarning(warning) {
10+
return { type: Type.SETUP_WARNING, payload: { warning: warning } };
1111
}
12-
exports.setSetup = setSetup;
12+
exports.setupWarning = setupWarning;
1313
function setProgress() {
1414
return { type: Type.SET_PROGRESS };
1515
}

lib/actions/tutorials.js

Lines changed: 6 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,14 @@
11
"use strict";
2-
var _base_1 = require('../_base');
3-
var Action = require('./actions');
4-
var path = require('path');
5-
var fs = require('fs');
62
var Type = require('./actionTypes');
7-
var exists_1 = require('../services/exists');
3+
var tutorials_1 = require('../services/tutorials');
84
function loadTutorials() {
95
var tutorials = [];
10-
if (window.coderoad.dir) {
11-
var packageJson = loadRootPackageJson();
12-
if (!packageJson) {
13-
window.coderoad.setup.hasPackageJson = null;
14-
var message = 'No package.json file available. Try running "npm init --y" in terminal';
15-
console.log(message);
16-
_base_1.store.dispatch(Action.toggleAlert({ message: message, action: 'tip', duration: 6000 }));
17-
}
18-
else {
19-
tutorials = []
20-
.concat(searchForTutorials(packageJson.dependencies))
21-
.concat(searchForTutorials(packageJson.devDependencies));
22-
}
6+
var packageJson = tutorials_1.loadRootPackageJson();
7+
if (window.coderoad.dir && !!packageJson) {
8+
tutorials = []
9+
.concat(tutorials_1.searchForTutorials(packageJson.dependencies))
10+
.concat(tutorials_1.searchForTutorials(packageJson.devDependencies));
2311
}
2412
return { type: Type.LOAD_TUTORIALS, payload: { tutorials: tutorials } };
2513
}
2614
exports.loadTutorials = loadTutorials;
27-
function loadRootPackageJson() {
28-
var pathToPackageJson = path.join(window.coderoad.dir, 'package.json');
29-
if (exists_1.fileExists(pathToPackageJson)) {
30-
return JSON.parse(fs.readFileSync(pathToPackageJson, 'utf8'));
31-
}
32-
return null;
33-
}
34-
function isTutorial(name) {
35-
var pathToTutorialPackageJson = path.join(window.coderoad.dir, 'node_modules', name, 'package.json');
36-
if (exists_1.fileExists(pathToTutorialPackageJson)) {
37-
var packageJson = JSON.parse(fs.readFileSync(pathToTutorialPackageJson, 'utf8'));
38-
if (packageJson.main && packageJson.main.match(/coderoad.json$/)) {
39-
var pathToCoderoadJson = path.join(window.coderoad.dir, 'node_modules', name, packageJson.main);
40-
if (exists_1.fileExists(pathToCoderoadJson)) {
41-
return true;
42-
}
43-
}
44-
}
45-
return false;
46-
}
47-
function searchForTutorials(deps) {
48-
if (!!deps && Object.keys(deps).length > 0) {
49-
return Object.keys(deps).filter(function (name) { return isTutorial(name); });
50-
}
51-
else {
52-
return [];
53-
}
54-
}

lib/atom/editor.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,11 @@
11
"use strict";
2-
var _base_1 = require('../_base');
32
var fs = require('fs');
43
var exists_1 = require('../services/exists');
5-
var Action = require('../actions/actions');
64
function setAtomGlobals() {
75
if (atom.project.rootDirectories.length > 0) {
86
window.coderoad.dir = atom.project.rootDirectories[0].path;
9-
_base_1.store.dispatch(Action.setSetup({ hasDirectory: true }));
107
}
118
else {
12-
var message = 'Create a new Atom project. In Atom: File > Open > any folder';
13-
_base_1.store.dispatch(Action.toggleAlert({ message: message, action: 'tip', duration: 6000 }));
14-
console.log(message);
159
window.coderoad.dir = null;
1610
}
1711
}

lib/atom/main.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ var render_1 = require('../components/render');
33
var polyfills_1 = require('../services/polyfills');
44
var subscriptions_1 = require('./subscriptions');
55
var editor_1 = require('./editor');
6+
var setup_checks_1 = require('../services/setup-checks');
67
var Main = (function () {
78
function Main() {
89
window.coderoad = {
9-
dir: null,
10-
setup: {}
10+
dir: null
1111
};
1212
polyfills_1.default();
1313
editor_1.setAtomGlobals();
14+
setup_checks_1.verifySetupComplete();
1415
this.root = render_1.initRoot();
1516
}
1617
Main.prototype.activate = function () {

lib/components/app/router.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ var default_1 = (function (_super) {
1818
case 'progress':
1919
return React.createElement(_components_1.Progress, {progress: state.progress, position: state.position});
2020
case 'projects':
21-
return React.createElement(_components_1.Start, {tutorials: state.tutorials});
21+
return React.createElement(_components_1.Start, {tutorials: state.tutorials, warning: state.warning});
2222
default:
2323
throw 'Error: Route not found.';
2424
}

lib/components/page/tasks.js

Whitespace-only changes.

lib/components/projects/projects.js

Lines changed: 0 additions & 65 deletions
This file was deleted.

lib/components/projects/setup.js

Lines changed: 0 additions & 35 deletions
This file was deleted.

lib/components/projects/start.js

Lines changed: 0 additions & 10 deletions
This file was deleted.

lib/components/projects/tutorials.js

Lines changed: 0 additions & 61 deletions
This file was deleted.

lib/components/render.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
var React = require('react');
33
var ReactDOM = require('react-dom');
44
var react_redux_1 = require('react-redux');
5-
var Action = require('../actions/actions');
65
var _base_1 = require('../_base');
76
var app_1 = require('./app/app');
87
require('./remove-later');
@@ -19,9 +18,6 @@ function initRoot() {
1918
var root = document.createElement('div');
2019
root.setAttribute('id', rootName);
2120
root.hidden = true;
22-
if (!!window.coderoad.dir) {
23-
_base_1.store.dispatch(Action.loadTutorials());
24-
}
2521
return root;
2622
}
2723
exports.initRoot = initRoot;

lib/components/router.js

Lines changed: 0 additions & 34 deletions
This file was deleted.

0 commit comments

Comments
 (0)