Skip to content

Commit a5d2d56

Browse files
committed
fix tutorials: load versions
1 parent a6e3c05 commit a5d2d56

File tree

6 files changed

+24
-22
lines changed

6 files changed

+24
-22
lines changed

lib/components/tutorials/tutorials.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ var buttons_1 = require('./buttons');
55
exports.Tutorials = function (_a) {
66
var tutorials = _a.tutorials;
77
return (React.createElement("div", {className: 'cr-tutorials'}, React.createElement(Table_1.Table, null, React.createElement(Table_1.TableHeader, {displaySelectAll: false, adjustForCheckbox: false}, React.createElement(Table_1.TableRow, null, React.createElement(Table_1.TableHeaderColumn, null, "Tutorial"), React.createElement(Table_1.TableHeaderColumn, null, "Version"))), React.createElement(Table_1.TableBody, {displayRowCheckbox: false}, tutorials.map(function (tutorial, index) {
8-
return (React.createElement(Table_1.TableRow, {key: index}, React.createElement(Table_1.TableRowColumn, null, React.createElement(buttons_1.SelectTutorial, {tutorial: tutorial})), !!tutorial.latest
8+
return (React.createElement(Table_1.TableRow, {key: index}, React.createElement(Table_1.TableRowColumn, null, React.createElement(buttons_1.SelectTutorial, {tutorial: tutorial})), tutorial.latest
99
? React.createElement(Table_1.TableRowColumn, null, tutorial.version, " ", React.createElement(buttons_1.UpdateTutorial, {name: tutorial.name}))
1010
: React.createElement(Table_1.TableRowColumn, null, tutorial.version)));
1111
}))), React.createElement("br", null), React.createElement(buttons_1.LoadTutorials, null)));

lib/reducers/tutorials/check-tutorials.js

+3-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
var path_1 = require('path');
33
var fs_1 = require('fs');
44
var exists_1 = require('../../services/exists');
5-
var root_package_1 = require('../../services/root-package');
65
var tutorialError = 'This is an error with the tutorial itself';
76
function _isTutorial(name) {
87
var pathToTutorialPackageJson = path_1.join(window.coderoad.dir, 'node_modules', name, 'package.json');
@@ -40,10 +39,10 @@ function searchForTutorials(deps) {
4039
version: 'NOT INSTALLED'
4140
};
4241
}
43-
var packageJson = root_package_1.default.get();
42+
var tutorialPackageJson = JSON.parse(fs_1.readFileSync(pathToTutorialPackageJson, 'utf8'));
43+
var version = tutorialPackageJson.version;
4444
return {
45-
name: name,
46-
version: packageJson.version
45+
name: name, version: version
4746
};
4847
}));
4948
}

src/components/tutorials/tutorials.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export const Tutorials : React.StatelessComponent<{
2727
<TableRowColumn>
2828
<SelectTutorial tutorial={tutorial} />
2929
</TableRowColumn>
30-
{!!tutorial.latest
30+
{tutorial.latest
3131
? <TableRowColumn>
3232
{tutorial.version} <UpdateTutorial name={tutorial.name} />
3333
</TableRowColumn>

src/reducers/tutorials/check-tutorials.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {store} from '../../store/store';
22
import {join} from 'path';
33
import {readFileSync} from 'fs';
44
import {fileExists} from '../../services/exists';
5-
// import {canUpdateTutorial} from './update-tutorial';
5+
import {canUpdateTutorial} from './update-tutorial';
66
import RootPackage from '../../services/root-package';
77

88
let tutorialError = 'This is an error with the tutorial itself';
@@ -58,12 +58,12 @@ export function searchForTutorials(deps: Object): CR.Tutorial[] {
5858
};
5959
}
6060

61-
let packageJson = RootPackage.get();
61+
let tutorialPackageJson = JSON.parse(readFileSync(pathToTutorialPackageJson, 'utf8'));
62+
const version = tutorialPackageJson.version;
6263

6364
return {
64-
name,
65-
version: packageJson.version
66-
// latest: canUpdateTutorial(name, packageJson.version)
65+
name, version
66+
// latest: !!canUpdateTutorial(name, version)
6767
};
6868
}));
6969
} else {

src/reducers/tutorials/update-tutorial.ts

+13-10
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,26 @@ import commandLine from '../../services/command-line';
22
import {store} from '../../store/store';
33
import {tutorialsFind} from '../../actions/_actions';
44

5+
export function tutorialUpdate(name: string): void {
6+
commandLine('npm', `install --save-dev ${name}`)
7+
.then(() => {
8+
store.dispatch(tutorialsFind());
9+
});
10+
}
11+
512
// export function canUpdateTutorial(name: string,
6-
// currentVersion: string): string {
13+
// currentVersion: string): Promise<boolean> {
14+
// console.log(name, currentVersion);
715
// return (commandLine('npm', `outdated ${name}`)
816
// .then((res: string) => {
17+
// console.log(res);
918
// if (res.length > 0) {
1019
// let match = res.match(/[0-9\.]+\s+[0-9\.]+\s+([0-9\.]+)/);
1120
// if (match.length >= 2) {
12-
// return match[1];
21+
// // return match[1];
22+
// return true;
1323
// }
1424
// }
15-
// return null;
25+
// return false;
1626
// }));
1727
// }
18-
19-
export function tutorialUpdate(name: string): void {
20-
commandLine('npm', `install --save-dev ${name}`)
21-
.then(() => {
22-
store.dispatch(tutorialsFind());
23-
});
24-
}

src/typings/cr/cr.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ declare namespace CR {
112112
interface Tutorial {
113113
name: string;
114114
version: string;
115-
latest?: string;
115+
latest?: boolean;
116116
}
117117

118118
interface Log {

0 commit comments

Comments
 (0)